Úpravy textových souborů a výstupu terminálu jsou každodenní prací pro ty, kteří spravují stroje Linux. Obslužné programy příkazového řádku, jako je sed, umožňují uživateli upravit a změnit obsah textového souboru přímo z okna terminálu.
V tomto článku se budeme podrobně zabývat příkazem sed spolu s některými základními příklady, které ukazují sílu nástroje sed v Linuxu.
Co je příkaz sed?
Příkaz sed, což je zkratka pro Editor streamů, je nástroj příkazového řádku, který umožňuje uživatelům systému Linux provádět textové operace se soubory a terminálovými výstupy. Pomocí nástroje sed mohou uživatelé vyhledávat a nahrazovat konkrétní slova v textu, zobrazit určitou část výstupu a upravovat textové soubory, aniž by je otevírali.
Tři základní operace podporované příkazem sed jsou:
- Vložení
- Vymazání
- Náhrada (Najít a nahradit)
Pokročilí uživatelé mohou také implementovat regulární výrazy pomocí příkazu sed, aby mohli efektivněji upravovat textové proudy.
Základní syntaxe příkazu je:
sed [možnosti] [vzor] [cesta k souboru]
...kde možnosti jsou různé funkce příkazu, vzor je regulární výraz nebo skript, kterému chcete odpovídat, a cesta k souboru je cesta k textovému souboru, který obsahuje text.
10 Příklady příkazu Linux sed
Pokud se plánujete stát běžným uživatelem systému Linux, může být pro vás užitečné vědět, jak upravovat soubory, hledat a nahrazovat konkrétní slova a filtrovat výstup terminálu. Tato část obsahuje několik příkladů příkazu sed, který z vás určitě udělá linuxového uživatele.
K předvedení v příspěvku použijeme následující textový soubor.
Toto je ukázkový textový soubor.
Je to úžasný soubor, který nám všem pomůže.
Příkaz sed je také skvělý pro úpravy streamu.
Chcete se naučit používat příkaz?
Toto je další řádek v souboru.
Toto je třetí obecný řádek v souboru.
Tento soubor je pojmenován jako textový soubor.
To je jablko.
Tohle je pomeranč.
1. Zobrazit řadu řádků
Příkazy Linuxu, jako je hlava a ocas, vydávají první nebo posledních deset řádků textového souboru. Ale co když chcete získat obsah mezi dvěma konkrétními řádky v souboru? V takových situacích by se příkaz sed mohl hodit.
Výstup obsahu mezi řádky 3 a 5 souboru textový soubor.txt:
sed -n '3,5p' textfile.txt
The -n příznak brání sedu v zobrazení prostoru vzorů na konci každého cyklu. Můžete také použít --klid a --tichý možnosti místo -n. The p argument znamená tisk a slouží k zobrazení shodných čar uživateli.
Provedení výše uvedeného příkazu v ukázkovém souboru vytvoří následující výstup.
Příkaz sed je také skvělý pro úpravy streamu.
Chcete se naučit používat příkaz?
Toto je další řádek v souboru.
Chcete-li načíst celý obsah souboru s výjimkou zadaného rozsahu, použijte d namísto p v příkazu:
sed '3,5d' textfile.txt
The d příznak odstraní uzavřené řetězce z výstupu a zobrazí zbytek obsahu.
Toto je ukázkový textový soubor.
Je to úžasný soubor, který nám všem pomůže.
Toto je třetí obecný řádek v souboru.
Tento soubor je pojmenován jako textový soubor.
To je jablko.
Tohle je pomeranč.
2. Zobrazit nesouvislé řádky
Chcete-li tisknout nesouvislé řádky mezi více rozsahy v souboru:
sed -n -e '1,2p' -e '5,6p' textfile.txt
Výstup:
Toto je ukázkový textový soubor.
Je to úžasný soubor, který nám všem pomůže.
Toto je další řádek v souboru.
Toto je třetí obecný řádek v souboru.
The -E vlajka pomáhá vykonávající více akcí pomocí jediného příkazu.
3. Vložte mezeru mezi řádky
Pokud z nějakého důvodu chcete vložit prázdné řádky mezi každý řádek v textovém souboru, použijte G argument s výchozím příkazem sed.
sed G textfile.txt
Chcete-li do výstupu vložit několik prázdných řádků, předejte více G argumenty oddělené znakem středník (;) znak.
sed 'G; G 'textfile.txt
4. Nahraďte slovo v textovém souboru
Pokud chcete nahradit každý výskyt konkrétního slova nějakým jiným slovem, použijte s a G argumenty s příkazem. Základní syntaxe pro nahrazování slov pomocí příkazu sed je:
sed s / originalword / replaceword / g název souboru
Pomocí výše uvedené syntaxe můžete slovo nahradit úžasný s super v souboru textový soubor.txt:
sed s / amazing / super / g textfile.txt
The s argument označuje substituce a G příkaz se používá k nahrazení spárovaného obsahu zadaným nahrazujícím obsahem.
Chcete-li nahradit druhý výskyt slova sed, předejte číslo znaku G argument. V tomto případě:
sed s / amazing / super / g2 textfile.txt
Pokud chcete při nahrazování slov ignorovat velká a malá písmena, použijte gi namísto G, kde i znamená ignorovat případ.
sed s / Amazing / super / gi textfile.txt
Příbuzný: Používání Vi? Zde je návod, jak otevřít soubor, poté uložit a ukončit
5. Náhradní slova uvnitř rozsahu
Můžete také nahradit slova uvnitř určitého rozsahu.
sed '2,5s / amazing / super / g' textfile.txt
6. Proveďte více substitucí najednou
Pokud chcete provést dvě nebo více substitucí najednou, oddělte příkazy pomocí středník (;) znak.
sed 's / amazing / super / g; s / command / utility / gi 'textfile.txt
Systém zobrazí následující výstup.
Toto je ukázkový textový soubor.
Je to super soubor, který nám všem pomůže.
Obslužný program sed je také skvělý pro úpravy streamu.
Chcete se naučit používat nástroj?
Toto je další řádek v souboru.
Toto je třetí obecný řádek v souboru.
Tento soubor je pojmenován jako textový soubor.
To je jablko.
Tohle je pomeranč.
7. Slova vyměňujte, pouze pokud je nalezena shoda
Příkaz sed můžete také použít k nahrazení slova, pouze pokud je v řádku nalezena určitá shoda. Například nahradit slovo A s an pokud slovo oranžový je přítomen v řádku:
sed -e '/ orange / s / a / an / g' textfile.txt
Vydání výše uvedeného příkazu vygeneruje:
Toto je ukázkový textový soubor.
Je to super soubor, který nám všem pomůže.
Obslužný program sed je také skvělý pro úpravy streamu.
Chcete se naučit používat nástroj?
Toto je další řádek v souboru.
Toto je třetí obecný řádek v souboru.
Tento soubor je pojmenován jako textový soubor.
To je jablko.
Tohle je pomeranč.
Všimněte si, že slovo A v řadě To je jablko nebyl nahrazen, protože systém slovo nenašel oranžový v tom.
8. Nahrazujte slova pomocí regulárních výrazů
Pro ty, kteří vědí, jak používat regulární výrazy, je provádění operací na řetězcích pomocí příkazu sed mnohem jednodušší. Můžete implementovat regulární výrazy, abyste zvýšili sílu příkazu.
Nahradit všechny výskyty slova Úžasný nebo úžasný s super:
sed -e '/ [Aa] mazing / super / g' textfile.txt
Podobně můžete také použít pokročilé regulární výrazy k provedení konkrétních operací pomocí příkazu sed.
9. Potrubí sed s dalšími příkazy
Řetězit sed můžete také s dalšími příkazy Linuxu. Například můžete potrubí lspci příkaz se sed přidá prázdné mezery mezi řádky ve výstupu.
lspci | sed G.
Chcete-li nahradit konkrétní slova ve výstupu souboru IP trasa show příkaz:
ip route show | sed s / src / zdroj / g
Výše uvedený příkaz slovo nahradí zdroj místo původního slova src.
Příbuzný: Jak používat příkaz Najít k vyhledávání souborů v systému Linux
10. Upravte a zálohujte původní soubor
Pokud pracujete se systémovými soubory, je důležité při provádění změn zálohovat původní soubor. To vám pomůže vrátit změny v případě, že se něco zlomí.
Chcete-li zálohovat původní soubor pomocí sed, použijte -i příznak v příkazu.
sed -i'.backup 's / amazing / super / g' textfile.txt
Bude vytvořen nový soubor s názvem textový soubor.txt.zálohování. Můžete zkontrolovat, zda se tyto dva soubory liší, pomocí rozdíl příkaz.
diff textfile.txt textfile.txt.zálohování
Úpravy řetězců v Linuxu pomocí sed
Někdy, když pracujete s textovými soubory na terminálu, je formátování a úprava výstupu pro lepší čitelnost nutností. Sed a awk jsou nástroje příkazového řádku v systému Linux, které umožňují uživateli efektivně pracovat s textovými soubory rozdělením dat do samostatných řádků.
Mnoho uživatelů si jen těžko pamatuje argumenty a příznaky příkazu sed, protože je jich k dispozici mnoho. Znalost, jak získat příručky příkazového řádku pro libovolný příkaz systému Linux, vám pomůže snadno se z takových situací dostat.
Všechny základní příkazy pro učení příkazů Linux z příkazového řádku
Přečtěte si další
- Linux
- Textový editor
- Terminál
- Příkazový řádek
Deepesh je Junior Editor pro Linux na MUO. Píše informační obsah na internetu již více než 3 roky. Ve volném čase rád píše, poslouchá hudbu a hraje na kytaru.
Přihlaste se k odběru našeho zpravodaje
Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!
Ještě jeden krok…!
V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.