SED Sostituire parole in qualunque file

Il comando sed (stream editor) è un potente strumento di manipolazione di testo disponibile su sistemi operativi Unix e Linux. Consente di modificare il flusso di testo in ingresso tramite l'utilizzo di espressioni regolari e comandi di modifica.

Ecco una spiegazione generale del funzionamento del comando sed:

  • Sintassi di base: La sintassi di base del comando sed è la seguente:

Bash
    sed [opzioni] 'espressione' file
dove espressione è un'espressione regolare o un comando di modifica, e file è il nome del file su cui si desidera operare.

  • Modifica del testo: sed consente di eseguire diverse operazioni di modifica del testo, come sostituzione, eliminazione, aggiunta e altro ancora. Queste operazioni possono essere specificate tramite espressioni regolari o comandi di modifica.

  • Utilizzo di espressioni regolari: Le espressioni regolari sono utilizzate per cercare e manipolare testo all'interno di un file. Puoi utilizzare caratteri speciali e metacaratteri per definire pattern di ricerca complessi.

  • Comandi di modifica: sed supporta una varietà di comandi di modifica per eseguire operazioni specifiche sul testo. Alcuni dei comandi di modifica comuni includono:

    • s/pattern/sostituzione/: Sostituisce il primo occorrenza di pattern con sostituzione su ogni riga.
    • s/pattern/sostituzione/g: Sostituisce tutte le occorrenze di pattern con sostituzione su ogni riga.
    • d: Elimina le righe che corrispondono al pattern specificato.
    • p: Stampa il contenuto delle righe che corrispondono al pattern specificato.
    • a, i, c: Aggiunge, inserisce o cambia righe in base al pattern specificato.
  • Applicazione alle linee di testo: Di default, sed applica le operazioni di modifica a ciascuna linea di testo nel file di input. Puoi specificare opzioni per modificare il comportamento predefinito, come l'opzione -n per disabilitare la stampa automatica delle linee di testo.

  • Utilizzo di più espressioni: È possibile concatenare più espressioni sed separatamente da punto e virgola (;) per eseguire una serie di modifiche successive sul testo.

Bash
sed 's/impactgate.enricomarogna.com/impactgate.org/g' dump.sql > dump4.sql
Bash
sed 's,http://www.find.com/page,http://www.replace.com/page,g'