Ú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ú:
- Vloženie
- Vymazanie
- 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 a 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ť.
Všetky základné príkazy na učenie sa príkazov Linux z príkazového riadku
Prečítajte si Ďalej
- Linux
- Textový editor
- Terminál
- Príkazový riadok
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.
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.