Questo è un esempio dell’arte di usare i comandi N
, P
e D
, probabilmente il più difficile da afferrare.
#!/usr/bin/sed -f h
:b # Sull'ultima riga, stampa ed esce $b N /^\(.*\)\n\1$/ { # Le due righe sono identiche. Annulla l'effetto # del comando n. g bb }
# Se il comando N
aveva aggiunto l'ultima riga, stampa ed esce
$b
# Le righe sono diverse; stampa la prima e # torna a lavorare sulla seconda. P D
Come si può vedere, si mantengono due finestre di 2 righe usando P
e
D
. Questa tecnica è usata spesso negli script di sed
avanzati.