Successivo: Incrementare un numero, Su: Esempi [Contenuti][Indice]
Questo script centra tutte le righe di un file su una larghezza di 80 colonne.
Per cambiare questa larghezza, si deve sostituire il numero tra
\{…\}
, e si deve cambiare anche il numero di spazi aggiunti.
Si noti come i comandi di buffer sono usati per separare parti nell’espressione regolare da confrontare—questa è una tecnica comune.
#!/usr/bin/sed -f
# Mette nel buffer 80 spazi 1 { x s/^$/ / s/^.*$/&&&&&&&&/ x }
# elimina gli spazi iniziale e finale y/tab/ / s/^ *// s/ *$//
# aggiunge un newline e 80 spazi alla fine della riga G
# tiene i primi 81 caratteri (80 + un newline) s/^\(.\{81\}\).*$/\1/
# \2 calcola la metà degli spazi, che vengono spostati all'inizio s/^\(.*\)\n\(.*\)\2/\2\1/