Cheat sheet comandi Sed
Sed è un editor di flusso utilizzato per eseguire trasformazioni e operazioni di base sul testo. È uno degli strumenti di elaborazione testo più potenti nei sistemi Unix.
Comandi di base
sed 's/old/new/' fileSostituisce la prima occorrenza di “old” con “new” nel file.
sed 's/old/new/g' fileSostituisce tutte le occorrenze di “old” con “new” nel file.
sed -n 'p' fileStampa solo il contenuto del file.
sed 'd' fileElimina il contenuto del file.
sed '2d' fileElimina la seconda riga del file.
sed '2,4d' fileElimina dalla seconda alla quarta riga del file.
sed '/pattern/d' fileElimina le righe che contengono il pattern.
sed -i 's/old/new/g' fileEsegue la sostituzione nel file e salva le modifiche.
Comandi avanzati
sed -e 'comando1' -e 'comando2' fileEsegue più comandi.
sed -f script.sed fileLegge i comandi da un file script.
sed 's/old/new/2' fileSostituisce solo la seconda corrispondenza.
sed 's/old/new/3g' fileSostituisce tutte le corrispondenze a partire dalla terza.
sed 's/\(old\)/\U\1/g' fileSostituisce tutti gli “old” con maiuscole.
sed 's/\(old\)/\L\1/g' fileSostituisce tutti gli “old” con minuscole.
sed 's/\(old\)/\E\1/g' fileSostituisce tutti gli “old” con maiuscole e ripristina il caso dopo la sostituzione.
sed 's/\(old\)/\e\1/g' fileSostituisce tutti gli “old” con minuscole e ripristina il caso dopo la sostituzione.
sed 's/old/new/w output.txt' fileScrive il risultato della sostituzione in un file.
sed -n 's/old/new/p' fileStampa solo le righe sostituite.
sed -n '/pattern/p' fileStampa solo le righe che contengono il pattern.
sed -n '1,5p' fileStampa solo dalla prima alla quinta riga.
Pattern di selezione a passi
sed -n 'n~mp' fileStampa ogni m-esima riga a partire dalla riga n.
Esempi:
sed -n '1~2p' file: Stampa una riga sì e una no (righe dispari).sed -n '2~2p' file: Stampa le righe pari.sed -n '1~3p' file: Stampa ogni terza riga a partire dalla prima.sed -n 'n~2p' file: Questo pattern continua per qualsiasi riga di inizion.