Pillole Linux: usare la BASH e SED per inserire una riga nel bel mezzo di un file!

Pillole Linux: usare la BASH e SED per inserire una riga nel bel mezzo di un file!

Oggi vediamo come inserire, con i comandi che Linux ci mette a disposizione, una riga nel bel mezzo di un file, prima o dopo un particolare contenuto. Per fare ciò, utilizziamo il comando sed.

Supponiamo di avere un file di testo (file.txt) con il seguente contenuto:

topolino
pippo
pluto
gamba di legno

Vogliamo inserire una riga con la scritta “clarabella” subito dopo la riga “pippo“. Ecco il comando sed da utilizzare:

sed "/pippo/aclarabella" file.txt

Questo comando utilizza le “espressioni regolari” per trovare la riga “pippo” (“/pippo/”).

La lettera “a” posta dopo la seconda slash “/”, indica a sed di aggiungere la scritta che segue dopo la riga “pippo” (“a” = append).

Infine, file.txt è il file di input. Il comando sed invia il risultato sullo standard output. Se vogliamo salvare il nuovo file, possiamo utilizzare il seguente comando:

sed "/pippo/aclarabella" file.txt > file_modificato.txt

Con sed possiamo anche inserire del contenuto PRIMA della riga “pippo“. Basta sostituire la lettera “a” con la “i” (insert, o prepend):

sed “/pippo/iclarabella” file.txt > file_modificato.txt

Inoltre, possiamo aggiungere più righe o un intero file, utilizzando la lettera “r”:

sed ‘/pippo/r righe_da_aggiungere.txt’ file.txt > file_modificato.txt

Happy BASH!

Commenta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *







Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.