L’estrazione di alcune righe da un file di testo è possibile usando il comando sed. Ad esempio, per estrarre dalla riga 5 alla riga 10 del file pippo.txt, basta digitare nel terminale:
sed -n 5,10p pippo.txtPer estrarre dalla riga 5 alla 10 e poi la 15 basta digitare:
sed -n -e 5,10p -e 15p pippo.txtSe si vuole estrarre dalla riga 5 alla fine del file:
sed -n '5,$p' pippo.txtSe si vuole creare un nuovo file, es new.txt, con le righe estratte, basta redirezionare l’output in un nuovo file:
sed -n 5,10p pippo.txt>new.txtPer le versioni di sed più recenti (> 4.1.4) si può usare direttamente l’opzione -i per ricrivere nello stesso file, es:
sed -i -n 5,10p pippo.txtmodifica il file pippo.txt lasciando solo le righe dalla 5 alla 10.
Infine, un’altra operazione molto comoda da fare con sed è la possibilità di modificare il contenuto di un file.
Ad esempio, per eliminare le righe che contengono, ad esempio, la stringa “Cancellami” basta digitare:
sed -i '/Cancellami/d' pippo.txtoppure, per modificare la stringa “Cancellami” in “Mantienimi” basta digitare:
sed -i 's/Cancellami/Mantienimi/g' pippo.txtdove la lettera g finale serve per abilitare il global replace, ovvero sostituisce la parola anche se è ripetuta più volte nella stessa riga.
Vediamo invece come sostiture la stringa “Cancellami” in “Mantienimi” solo se nella riga è presente la parola “Controllami“:
sed -i -e '/Controllami/s/Cancellami/Mantienimi/' pippo.txtenjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta