GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo del comando Linux sed con esempi

Sed, abbreviazione di Stream EDitor, è un comando utilizzato per eseguire trasformazioni e manipolazioni di testo su un file. Alcune di queste trasformazioni includono la ricerca e la sostituzione del testo. Con il comando sed di Linux, puoi manipolare e modificare file di testo senza nemmeno aprirli. In questo tutorial imparerai come manipolare i file di testo usando il comando sed.

Sintassi del comando Linux sed

$ sed  {OPTIONS} filename

In questo tutorial useremo linuxgeek.txt come nostro file di riferimento.

# cat linuxgeek.txt

Risultato

1. Sostituzione o sostituzione di una stringa

Nella maggior parte dei casi, il comando sed viene utilizzato per sostituire stringhe di testo.

Il comando seguente sostituisce "Linux ' con 'Unix '.

# sed 's/Linux/Unix/' linuxgeek.txt
  • I s nel comando c'è l'indicatore di sostituzione.
  • Il / sono i delimitatori
  • Linux è il termine di ricerca
  • unix è il termine sostitutivo

Per impostazione predefinita, il comando sed sostituisce solo la prima occorrenza in una riga . Le occorrenze successive non verranno sostituite né sostituite.

Risultato

2. Sostituendo o sostituendo l'ennesima occorrenza in una riga

Se vuoi sostituire la seconda occorrenza di stringa in una riga, usa /2 flag come mostrato.

# sed 's/Linux/Unix/2' linuxgeek.txt

Risultato

3. Sostituendo o sostituendo tutte le occorrenze del modello in un file

Per sostituire tutte le occorrenze del modello di ricerca nel file, usa /g bandiera. Il /g è il sostituto globale.

# sed 's/Linux/Unix/g' linuxgeek.txt

Risultato

4. Sostituendo o sostituendo tutte le occorrenze di una stringa solo in una riga specifica

Se vuoi sostituire tutte le occorrenze di una stringa in una riga specifica, ad esempio nella riga 2, usa la sintassi seguente

# sed '2 s/Linux/Unix/g' linuxgeek.txt

Risultato

5. Sostituzione o sostituzione di una stringa in un intervallo specifico di righe

Se si desidera specificare l'intervallo di righe in cui avverrà la sostituzione della stringa, utilizzare l'esempio mostrato di seguito. L'esempio indica che la sostituzione avvenga dalle righe 1 -3

# sed '1,3 s/Linux/Unix/g' linuxgeek.txt

Risultato

Inoltre, puoi sostituire il testo da una riga specifica alla fine del file come mostrato

# sed '2,$ s/Linux/Unix/g' linuxgeek.txt

Quello che fa il comando è che sostituisce tutte le occorrenze dalla seconda riga all'ultima riga del file.

Risultato

6. Metti tra parentesi il primo carattere di ogni parola

L'esempio seguente mostra come inserire parentesi su ogni primo carattere di una parola in una riga.


$ echo "Hey Guys, Welcome To Linux Operating System" | sed 's/\(\b[A-Z]\)/\(\1\)/g'

Risultato

7. Elimina le righe da un file

Puoi anche usare il comando linux sed per eliminare le righe in un file.

Esempi

Sintassi:


$ sed 'nd' filename.txt

Per eliminare la 3a riga nel file eseguire

$ sed '3d' linuxgeek.txt

Risultato

Per eliminare un intervallo di righe, diciamo dalla riga 3 alla riga 5 , esegui il comando:

$ sed '3,5d' linuxgeek.txt

Risultato


Linux
  1. Comando wc Linux con esempi

  2. Comando di ordinamento Linux con esempi

  3. Il comando Sed di Linux:utilizzo ed esempi

  4. Comando Tee Linux con esempi

  5. Comando JQ in Linux con esempi

Comando Date in Linux con esempi di utilizzo

Comando Diff in Linux con esempi

Comando CD Linux con esempi

Comando IP Linux con esempi di utilizzo

Comando IP Linux con esempi

Utilizzo del comando Linux mv con esempi