GNU/Linux >> Linux Esercitazione >  >> Linux

Tutorial Unix Sed:come eseguire più comandi Sed

Domanda: È possibile per me combinare più comandi sed? Posso combinare due comandi sed ed eseguirlo come un singolo comando sed?

Risposta: Nei nostri articoli precedenti abbiamo imparato sed con comandi singoli:stampa, eliminazione, sostituzione e scrittura di file.

In questo articolo esaminiamo come combinare più comandi sed usando l'opzione -e come mostrato di seguito.

Syntax:

#sed -e 'command' -e 'command' filename

Nota: -e l'opzione è facoltativa per sed con un singolo comando. sed eseguirà ogni serie di comandi durante l'elaborazione dell'input dal pattern buffer.

Per prima cosa creiamo il file geekstuff.txt che verrà utilizzato in tutti gli esempi menzionati di seguito.

# cat thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

1.Cancella la 4a e la 2a riga dall'input

Questo esempio sed elimina la 4a e la 2a riga dal file thegeekstuff.txt. Usando l'opzione "-e", puoi dare un numero qualsiasi di comandi con sed.

$ sed -e '4d' -e '2d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
3. Hardware
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

2. Stampa le linee che corrispondono al modello1 e le linee corrispondono al modello2

Questo esempio sed stampa tutte le linee che corrispondono al modello "Storage" o "Software".

$ sed -n  -e '/Software/p'  -e '/Storage/p'  thegeekstuff.txt
5. Storage
9. Software Development

3. Elimina la prima, l'ultima e tutte le righe vuote dall'input

Questo esempio sed elimina la prima riga, l'ultima riga e tutte le righe vuote dal file di input.

$ sed -e '1d' -e '$d' -e '/^$/d' thegeekstuff.txt
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development

Linux
  1. Come sostituire una stringa in più file nella riga di comando di Linux

  2. Come eseguo più comandi quando utilizzo find?

  3. Combina più comandi unix in un unico output

  4. Come creare comandi personalizzati in Unix/Linux?

  5. Come rinominare più file in un singolo comando o script in Unix?

Come eseguire i comandi della shell tramite il server HTTP

Come eseguire più comandi Linux in un unico comando

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

Tutorial Unix Sed:come scrivere su un file usando Sed

Tutorial Unix Sed:esempi di sostituzione Sed avanzati

Tutorial Unix Sed:6 esempi per l'operazione di diramazione Sed