Úpravy textových súborov a výstupov z terminálov sú každodennou prácou pre tých, ktorí spravujú počítače so systémom Linux. Obslužné programy príkazového riadku, ako je sed, umožňujú používateľovi upravovať a meniť obsah textového súboru priamo z okna terminálu.

V tomto článku sa budeme podrobne zaoberať príkazom sed spolu s niektorými základnými príkladmi, ktoré demonštrujú silu obslužného programu sed v systéme Linux.

Čo je príkaz sed?

Príkaz sed, čo je skratka pre Editor streamu, je nástroj príkazového riadku, ktorý umožňuje používateľom systému Linux vykonávať textové operácie so súbormi a koncovými výstupmi. Pomocou programu sed môžu používatelia nájsť a nahradiť konkrétne slová v texte, zobraziť určitú časť výstupu a upravovať textové súbory bez toho, aby ich otvorili.

Tri základné operácie podporované príkazom sed sú:

  1. Vloženie
  2. Vymazanie
  3. Nahradenie (Nájsť a nahradiť)

Pokročilí používatelia môžu tiež implementovať regulárne výrazy pomocou príkazu sed, aby mohli textové toky upravovať efektívnejšie.

Základná syntax príkazu je:

sed [možnosti] [vzor] [cesta k súboru]

...kde možnosti sú rôzne funkcie príkazu, vzor je regulárny výraz alebo skript, ktorý chcete nájsť, a cesta k súboru je cesta k textovému súboru, ktorý obsahuje text.

10 Príklady príkazu Linux sed

Ak sa plánujete stať bežným používateľom systému Linux, môže byť pre vás užitočné vedieť, ako upravovať súbory, vyhľadávať a nahrádzať konkrétne slová a filtrovať výstup z terminálu. Táto časť obsahuje niektoré príklady príkazu sed, ktoré z vás určite urobia skúseného používateľa systému Linux.

Na demonštráciu v príspevku použijeme nasledujúci textový súbor.

Toto je ukážkový textový súbor.
Je to úžasný súbor, ktorý pomôže nám všetkým.
Príkaz sed je tiež skvelý na úpravu streamu.
Chcete sa naučiť používať príkaz?
Toto je ďalší riadok v súbore.
Toto je tretí všeobecný riadok v súbore.
Tento súbor má názov textový súbor.
Toto je jablko.
Toto je oranžová.

1. Zobraziť rozsah riadkov

Príkazy systému Linux, ako napríklad hlava a chvost, vydávajú prvý alebo posledných desať riadkov textového súboru. Čo však v prípade, ak chcete do súboru dostať obsah medzi dvoma konkrétnymi riadkami? V takýchto situáciách by sa vám mohol hodiť príkaz sed.

Na výstup obsah medzi riadkami 3 a 5 súboru textový súbor.txt:

sed -n '3,5p' textfile.txt

The -n príznak zabráni sedu v zobrazení vzorového priestoru na konci každého cyklu. Môžete tiež použiť - tichý a - tichý možnosti namiesto -n. The p argument znamená tlačiť a slúži na zobrazenie zhodných riadkov používateľovi.

Vykonaním vyššie uvedeného príkazu na príklade súboru vznikne nasledujúci výstup.

Príkaz sed je tiež skvelý na úpravu streamu.
Chcete sa naučiť používať príkaz?
Toto je ďalší riadok v súbore.

Na výstup celého obsahu súboru okrem určeného rozsahu použite d vlajka namiesto p v príkaze:

sed '3,5d' textfile.txt

The d príznak vymaže z výstupu zhodné reťazce a zobrazí zvyšok obsahu.

Toto je ukážkový textový súbor.
Je to úžasný súbor, ktorý pomôže nám všetkým.
Toto je tretí všeobecný riadok v súbore.
Tento súbor má názov textový súbor.
Toto je jablko.
Toto je oranžová.

2. Zobraziť nenasledujúce riadky

Ak chcete tlačiť nenasledujúce riadky medzi viacerými rozsahmi v súbore:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Výkon:

Toto je ukážkový textový súbor.
Je to úžasný súbor, ktorý pomôže nám všetkým.
Toto je ďalší riadok v súbore.
Toto je tretí všeobecný riadok v súbore.

The -e vlajka pomáha v vykonávajúci viac akcií pomocou jedného príkazu.

3. Vložte medzeru medzi riadky

Ak z nejakého dôvodu chcete vložiť prázdne riadky medzi každý riadok v textovom súbore, použite G argument s predvoleným príkazom sed.

sed G textfile.txt

Ak chcete do výstupu vložiť viac prázdnych riadkov, zadajte viac G argumenty oddelené znakom bodkočiarka (;) znak.

sed 'G; G 'textfile.txt

4. Nahraďte slovo v textovom súbore

Ak chcete nahradiť každý výskyt konkrétneho slova iným slovom, použite znak s a g argumenty príkazom. Základná syntax pre nahradzovanie slov pomocou príkazu sed je:

sed s / originalword / replaceword / g názov súboru

Pomocou vyššie uvedenej syntaxe môžete slovo nahradiť úžasný s Super v spise textový súbor.txt:

sed s / amazing / super / g textfile.txt

The s argument označuje zámena a g príkaz sa používa na nahradenie zhodného obsahu špecifikovaným náhradným obsahom.

Ak chcete nahradiť druhý výskyt slova sed, odovzdajte číslo znaku g argument. V tomto prípade:

sed s / amazing / super / g2 textfile.txt

Ak chcete pri nahradzovaní slov ignorovať veľké a malé písmená, použite gi namiesto g, kde i znamenať ignorovať prípade.

sed s / Amazing / super / gi textfile.txt

Súvisiace: Používate Vi? Tu je postup, ako otvoriť súbor, potom uložiť a ukončiť

5. Náhradné slová v rozsahu

Môžete tiež nahradiť slová v rámci určitého rozsahu.

sed '2,5s / amazing / super / g' textfile.txt

6. Vykonajte viac substitúcií naraz

Ak chcete vykonať dve alebo viac substitúcií naraz, stačí jednotlivé príkazy oddeliť znakom bodkočiarka (;) znak.

sed 's / amazing / super / g; s / príkaz / obslužný program / gi 'textfile.txt

Systém zobrazí nasledujúci výstup.

Toto je ukážkový textový súbor.
Je to super súbor, ktorý pomôže nám všetkým.
Obslužný program sed je vynikajúci aj na úpravu streamov.
Chcete sa naučiť používať tento nástroj?
Toto je ďalší riadok v súbore.
Toto je tretí všeobecný riadok v súbore.
Tento súbor má názov textový súbor.
Toto je jablko.
Toto je oranžová.

7. Slová vymieňajte, iba ak sa nájde zhoda

Príkaz sed môžete tiež použiť na nahradenie slova, iba ak sa v riadku nájde daná zhoda. Napríklad na nahradenie slova a s an ako slovo oranžová je prítomný v riadku:

sed -e '/ orange / s / a / an / g' textfile.txt

Vydanie vyššie uvedeného príkazu spôsobí výstup:

Toto je ukážkový textový súbor.
Je to super súbor, ktorý pomôže nám všetkým.
Obslužný program sed je vynikajúci aj na úpravu streamov.
Chcete sa naučiť používať tento nástroj?
Toto je ďalší riadok v súbore.
Toto je tretí všeobecný riadok v súbore.
Tento súbor má názov textový súbor.
Toto je jablko.
Toto je pomaranč.

Všimnite si, že slovo v rade Toto je jablko nebol nahradený, pretože systém nenašiel slovo oranžová v tom.

8. Náhradné slová pomocou regulárnych výrazov

Pre tých, ktorí vedia, ako používať regulárne výrazy, je vykonávanie operácií na reťazcoch pomocou príkazu sed oveľa jednoduchšie. Na zvýšenie sily príkazu môžete implementovať regulárne výrazy.

Nahradiť všetky výskyty slova Úžasný alebo úžasný s Super:

sed -e 's / [Aa] mazing / super / g' textfile.txt

Podobne môžete tiež použiť pokročilé regulárne výrazy na vykonávanie konkrétnych operácií pomocou príkazu sed.

9. Potrubie sed s inými príkazmi

Môžete ich reťaziť aj s inými príkazmi Linuxu. Môžete napríklad potrubie lspci príkazom sed pridáte prázdne medzery medzi riadkami vo výstupe.

lspci | sed G

Ak chcete nahradiť konkrétne slová vo výstupe súboru ip trasa show príkaz:

ip trasa zobraziť | sed s / src / zdroj / g

Vyššie uvedený príkaz slovo nahradí zdroj namiesto pôvodného slova src.

Súvisiace: Ako používať príkaz Hľadať na vyhľadanie súborov v systéme Linux

10. Upravte a zálohujte pôvodný súbor

Pri práci so systémovými súbormi je dôležité zálohovanie pôvodného súboru pri vykonávaní zmien. Pomôže vám to vrátiť zmeny v prípade, že sa niečo pokazí.

Ak chcete zálohovať pôvodný súbor pomocou programu sed, použite -i vlajka v príkaze.

sed -i'.backup 's / amazing / super / g' textfile.txt

Vytvorí sa nový súbor s názvom textový súbor.txt.zálohovanie. Môžete skontrolovať, či sa tieto dva súbory líšia pomocou rozdiel príkaz.

diff textfile.txt textfile.txt.zálohovanie

Úpravy reťazcov v systéme Linux pomocou programu sed

Pri práci s textovými súbormi v termináli sa niekedy stáva nevyhnutnosťou formátovanie a úprava výstupu pre lepšiu čitateľnosť. Sed a awk sú nástroje príkazového riadku v systéme Linux, ktoré umožňujú používateľovi efektívne pracovať s textovými súbormi rozdelením údajov do samostatných riadkov.

Mnoho používateľov si ťažko pamätá argumenty a príznaky príkazu sed, pretože existuje veľa z nich, ktoré sú k dispozícii na použitie. Vedieť, ako získať príručky príkazového riadku pre ľubovoľný príkaz systému Linux, vám pomôže ľahko sa z týchto situácií dostať.

Email
7 spôsobov, ako získať pomoc s príkazovým riadkom v systéme Linux

Všetky základné príkazy na učenie sa príkazov Linux z príkazového riadku

Prečítajte si Ďalej

Súvisiace témy
  • Linux
  • Textový editor
  • Terminál
  • Príkazový riadok
O autorovi
Deepesh Sharma (Publikovaných 36 článkov)

Deepesh je juniorský editor pre Linux na MUO. Informačnému obsahu píše na internete už viac ako 3 roky. Vo voľnom čase rád píše, počúva hudbu a hrá na gitare.

Viac od Deepesh Sharma

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.