Successivo: , Precedente: , Su: Esempi   [Contenuti][Indice]


4.14 Tenere un’unica copie delle righe duplicate

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.