GNU/Linux >> Znalost Linux >  >> Linux

Výuka Unix Sed:Jak provádět více příkazů Sed

Otázka: Mohu kombinovat více příkazů sed? Mohu zkombinovat dva příkazy sed a provést je jako jeden příkaz sed?

Odpověď: V našich předchozích článcích jsme se naučili sed pomocí jednotlivých příkazů – tisk, mazání, nahrazení a zápis do souboru.

V tomto článku se podíváme na to, jak kombinovat více příkazů sed pomocí volby -e, jak je uvedeno níže.

Syntax:

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

Poznámka: Volba -e je volitelná pro sed s jedním příkazem. sed provede každou sadu příkazů při zpracování vstupu z vyrovnávací paměti vzoru.

Nejprve vytvořte soubor geekstuff.txt, který bude použit ve všech níže uvedených příkladech.

# 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.Vymažte 4. a 2. řádek ze vstupu

Tento příklad sed odstraní 4. a 2. řádek ze souboru thegeekstuff.txt. Pomocí volby „-e“ můžete zadat libovolný počet příkazů pomocí 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. Vytiskněte řádky, které odpovídají vzoru1 a řádky odpovídají vzoru2

Tento příklad sed vytiskne všechny řádky, které odpovídají vzoru „Storage“ nebo „Software“.

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

3. Odstraňte první, poslední a všechny prázdné řádky ze vstupu

Tento příklad sed odstraní první řádek, poslední řádek a všechny prázdné řádky ze vstupního souboru.

$ 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. Proveďte kombinaci více příkazů Linuxu na jednom řádku

  2. Jak mohu provést více příkazů při použití funkce find?

  3. Jak vytvořit vlastní příkazy v Unixu/Linuxu?

  1. Jak automaticky spouštět příkazy/skripty během restartu nebo spouštění

  2. Jak poslat Stdout do více příkazů?

  3. Jak přejmenovat více souborů v jednom příkazu nebo skriptu v Unixu?

  1. Jak přejmenovat více souborů v jediném příkazu nebo skriptu v systému Unix?

  2. Výuka Unix Sed:Jak provádět více příkazů Sed

  3. Jak nahradit řetězec ve více souborech v příkazovém řádku linuxu