Questo script stampa solo le righe duplicate, come ‘uniq -d’.
#!/usr/bin/sed -nf
$b
N
/^\(.*\)\n\1$/ {
# Stampa la prima delle righe duplicate
s/.*\n//
p
# Esegue il ciclo finché non trova una riga diversa
:b
$b
N
/^\(.*\)\n\1$/ {
s/.*\n//
bb
}
}
# L'ultima riga non può essere seguita da duplicati $b
# Trovata una riga diversa, la deposita nel pattern space # e torna all'inizio, alla ricerca dei suoi duplicati D