Sed è un editor non interattivo progettato per operazioni di editing quando le dimensioni del file rendono impraticabile l’uso di editor interattivi. Per programma non interattivo si intende quello che non consente un immediato riscontro delle operazioni effettuate. Sed è inoltre capace di eseguire script contenenti complesse operazioni di editing, consentendo una maggiore efficienza di qualunque altro editor interattivo.
Il comportamento predefinito di sed è quello di copiare lo standard input ( stdin ) nello standard output ( stdout ), la redirezione dell’input o dell’output ci viene in aiuto per utilizzare file contenenti l’input e destinati all’output. Sed fa uso di due buffer dati: il primo detto “pattern space” su cui vengono effettuati i comandi di editing necessari e l’altro detto “hold area“, inizialmente vuoto, destinato a contenere porzioni di testo che in seguito possono essere recuperate.
A riga di comando sed accetta i seguenti tre parametri:
Vediamo una panoramica dei comandi utilizzati da sed:
Facciamo un esempio pratico di sostituzione, scriviamo su un file di nome test, con il nostro editor preferito, del testo in cui sia contenuta la frase “in questa giornata di sole”. Vogliamo sostituire tutte le occorrenze di “di sole” con “di pioggia”, ecco la sintassi che dobbiamo dare:
sed -i ‘s/di sole/di pioggia/g’ test
Come potete notare abbiamo utilizzato -i con s per sostituire nel testo tutte le occorrenze ( g ); ovviamente come pattern possiamo utilizzare qualsiasi carattere:
sed -i ‘s*di sole*di pioggia*g’ test
Il comando s presenta questa sintassi:
Il flag g in particolare, consente di sostituire tutte le occorrenze di pattern, anziché solo la prima per ogni riga.
Sed è un programma di utilizzo molto complesso con le sue espressioni regolari, ma al tempo stesso molto potente per fare delle sostituzioni su file anche di grandi dimensioni. Per maggiori informazioni vi rimando alla documentazione in linea.
Per compilare il pacchetto sed della nostra distribuzione Linux vi inserisco il file contenente tutti i comandi per scaricare il sorgente, compilarlo e formare il pacchetto, che contiene soltanto il programma sed, quindi è molto piccolo, ma utile e potente che utilizzeremo molte volte per applicare dei cambiamenti soprattutto ai makefile.
<< Lezione Precedente – Inizio Tutorial – Lezione Successiva >>
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→