sed [-e] 'instruction' file
# l'opzione "-e" e' necessaria quando si sottomette piu' di una istruzione nella stessa linea di comando.
# Questa dice a sed di interpretare il prossimo orgomento come una istruzione.
# l'opzione "-i" modifica il file in-place
sed 's/ MI/, Milano/; s/ PA/, Palermo/' nome_file
sed -e 's/ MI/, Milano/' -e 's/ PA/, Palermo/' nome_file
# per applicare una sed complessa partendo da uno script
sed -f scriptfile nome_file
# viene printata solo la linea coinvolta nel comando
# "-p" = print
# "-n" Sopprime l'output delle linee in input
sed -n -e 's/MI/Milano/p' nome_file
# sostituisce "foo" con "bar" in ciascuna linea
sed 's/foo/bar/'
# ---> sostituisce solo alla prima istanza di una linea
sed 's/foo/bar/4'
# ---> sostituisce solo alla quarta istanza di una linea
sed 's/foo/bar/g'
# ---> sostituisce tutte le istanze di una linea
# inverte ciascun carattere della linea
sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
# grep di AAA e BBB e CCC non in ordine
sed '/AAA/!d; /BBB/!d; /CCC/!d'
# grep per AAA e BBB e CCC in quest'ordine
sed '/AAA.*BBB.*CCC/!d'
# numera la linee di un file, unsando il tab per i margini
sed = filename | sed 'N;s/\n/\t/'\
# numera le linee di un file, ma solo se non sono blanck
sed '/./=' filename | sed '/./N; s/\n/ /'
# conta le linee
sed -n '$='
# aggiunge una linea bianca ogni 5 linee
sed 'n;n;n;n;G;'
# printa le prime 10 linee di un file
sed 10q
# printa la prima liena di un file
sed q
# printa le ultime 10 linee di un file
sed -e :a -e '$q;N;11,$D;ba'
# printa le ultime 2 linee di un file
sed '$!N;$!D'
# printa l'ultima linea di un file
sed '$!d'
sed -n '$p'
# printa solo le linee che soddisfano l'espressione (grep)
sed -n '/regexp/p'
sed '/regexp/!d'
# printa solo le linee che non soddisfano l'espressione (grep -v)
sed -n '/regexp/!p'
sed '/regexp/d'
# printa solo le linee lunghe 65 caratteri
sed -n '/^.\{65\}/p'
# printa la linea 52
sed -n '52p'
sed '52!d'
sed '52q;d'
# elimina le linee duplicate consecutive di un file (uniq)
# rimane solo la prima linea dei duplicati
sed '$!N; /^\(.*\)\n\1$/!P; D'
# elimina le linee duplicate non consecutive di un file
sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'
# printa la linea consecutiva a quella che matcha una regex
sed -n '/regex/{n;p}' file
# elimina le prime 10 linee di un file
sed '1,10d'
# elimina l'ultima linea di un file
sed '$d'
# elimina le ultime linee di un file
sed 'N;$!P;$!D;$d'
# elimina le ultime 10 linee di un file
sed -e :a -e '$d;N;2,10ba' -e 'P;D'
sed -n -e :a -e '1,10!{P;N;D;};N;ba'
# elimina tutte le linee vuote di un file
sed '/^$/d'
sed '/./!d'
# elimina gli spazi (spazi, tabs) all'inizio di ogni linea
# allinea il testo a sinistra
sed 's/^[ \t]*//'
# elimina gli spazi (spazi, tabs) alla fine di ogni linea
sed 's/[ \t]*$//'
# elimina le righe vuote
sed -i '/^$/d'
# Ritorna solo il valore del campo Subject
sed '/^Subject: */!d; s///;q'
# quota ogni riga di un messaggio con " > "
sed 's/^/> /'
# elimina da ogni riga il quote " > "
sed 's/^> //'
# rimuove i tag html
sed -e :a -e 's/<[^>]*>//g;/
# escappa tutti gli /
:%s/\//\\\//g
# sostituisce la riga 46 con una riga vuota
sed '46s/.*$//'