sed

Jak nahradit více řádků pomocí příkazu 'sed'

Jak nahradit více řádků pomocí příkazu 'sed'
Někdy vyžaduje nahradit více řádků souboru jakýmkoli konkrétním znakem nebo textem. V Linuxu existují různé příkazy, které nahrazují více řádků souboru. Příkaz 'sed' je jedním z nich, který provádí tento typ úkolu. Plnou formou výrazu „sed“ je Steam Editor a používá se hlavně ke čtení a převodu textu různými způsoby pomocí regulárního výrazu. V tomto tutoriálu je vysvětleno, jak lze tento příkaz použít k nahrazení více řádků souboru různými způsoby.

Běžně používaný „sed“ podváděcí list:

Nejčastěji používané znaky použité v příkazu 'sed' jsou vysvětleny v následující tabulce.

Charakter Účel
A Používá se k připojení obsahu.
b Používá se pro větvení obsahu.
C Používá se pro změnu obsahu.
d Používá se k odstranění řádku souboru.
D Používá se k odstranění prvního řádku souboru.
G Kopírovalo se to z přidrženého textu.
G Slouží k připojení z pozdrženého textu.
h Používá se ke kopírování zadrženého textu.
H Používá se k připojení k zadržovacímu textu.
i Používá se pro vložení.
Používá se k tisku náhradního řádku.
n Slouží k přechodu na další řádek.
N Slouží k připojení dalšího vstupního řádku.
p Používá se k tisku.
P Používá se k tisku prvního řádku.
q Používá se k ukončení.
Q Slouží k okamžitému ukončení.
r Používá se ke čtení souboru.
R Používá se ke čtení řádku ze souboru.
s Používá se jako náhrada.
t Používá se k testování náhrady.
T Slouží k testování, zda nedošlo k záměně.
w Používá se k zápisu do souboru.
Ž Používá se k zápisu řádku do souboru.
X Používá se k výměně vzorů a přidržení.
y Používá se k překladu.
z Používá se k vymazání čáry.
'=' Slouží k tisku čísla řádku.

Nahraďte více řádků pomocí příkazu 'sed' z terminálu:

Jak lze použít příkaz 'sed' k nahrazení více řádků ze souboru z terminálu, je uvedeno v této části tohoto tutoriálu. Vytvořte soubor s názvem sed.txt s následujícím obsahem otestujte příkazy této části.

sed.txt

Plná forma sed je „editor streamu“.

Jedná se o unixový nástroj, který se používá ke čtení a převodu textu v jiném formátu.

Byl vyvinut Lee E. McMahon.

Používá se pro zpracování textu.

Podporuje regulární výrazy.

Příklad 1: Nahradit dvě po sobě jdoucí řádky

Následující příkaz 'sed' nahradí dva po sobě jdoucí řádky jiným řádkem. Zde se volba -z používá k nahrazení po sobě jdoucích řádků nulovými daty před přidáním náhradního textu. Podle příkazu, 3rd a 4th řádky souboru budou nahrazeny textem, „Je to velmi užitečný nástroj“.

$ kočka sed.txt
$ sed -z 's / Byl vyvinut Lee E. McMahon.\ nTo se používá pro text
zpracovává se./ Je to velmi užitečný nástroj./ 'sed.txt

Po spuštění příkazů se zobrazí následující výstup.

Příklad 2: Nahraďte více řádků na základě shody a globálního příznaku

Následující příkaz 'sed' nahradí všechny řádky, které začínají slovem, 'To' slovem, 'Tento řádek je nahrazen ''.

$ kočka sed.txt
$ sed 's / ^ It.* / Tento řádek je nahrazen / g 'sed.txt

Po spuštění příkazů se zobrazí následující výstup. Tři řádky obsahují slovo „To've složce. Tyto řádky byly tedy nahrazeny nahrazujícím textem.

Příklad 3: Nahraďte více řádků na základě příkazu shody a dalšího řádku

Následující příkaz 'sed' nahradí slovo, 'je„slovem,“byl's příkazem dalšího řádku,' n '.

$ kočka sed.txt
$ sed 'n; / is / s / is / was /' sed.txt

Po spuštění příkazů se zobrazí následující výstup. Tady, 'je' existuje v 2nd a 4th řádky souboru a tyto řádky jsou upraveny slovem 'byl'.

Nahraďte více řádků vytvořením souboru skriptu 'sed':

V předchozích příkladech byly příkazy „sed“ provedeny z terminálu. Ale je to skriptovací jazyk a pokud skript obsahuje více příkazů, je lepší vytvořit soubor sed pomocí skriptu. Vytvořte textový soubor s názvem studenti.txt s následujícím obsahem, ve kterém bude použit skript „sed“.

studenti.txt

ID: 111045
Jméno: Robert
Oddělení: CSE
Dávka: 35
ID: 111876
Jméno: Joseph
Oddělení: BBA
Dávka: 27
ID: 111346
Jméno: William
Oddělení: CSE
Dávka: 45
ID: 111654
Jméno: Charles
Oddělení: EEE
Dávka: 41
ID: 111346
Jméno: John
Oddělení: CSE
Dávka: 25
ID: 111746
Jméno: Thomas
Oddělení: CSE
Dávka: 15

Příklad 4: Nahraďte více řádků souboru pomocí souboru skriptu „sed“

Vytvořte soubor sed s názvem nahradit.sed s následujícím obsahem nahradit více řádků na základě vyhledávacího vzoru. Tady, slovo 'CSE'bude prohledáno v textovém souboru, a pokud existuje shoda, bude znovu prohledáno číslo 35 a 15. Pokud v souboru existuje druhá shoda, bude nahrazena číslem 45.

nahradit.sed

/ CSE /
p; n;
/ 35 /
s / 35/45 /;
p; d;

/ 15 /
s / 15/55 /;
p; d;


p;

Spuštěním následujícího příkazu zkontrolujte existující obsah souboru. „CSE“ se v textovém souboru objevil čtyřikrát. 35 a 15 existují na dvou místech.

$ kočičí studenti.txt

Následující příkaz nahradí obsah více řádků na základě skriptu sed.

$ sed -n -f nahradit.sed studenti.txt

Po spuštění příkazu se zobrazí následující výstup.

Závěr

V tomto kurzu jsou uvedeny různé způsoby, jak nahradit více řádků nebo obsah více řádků pomocí příkazu 'sed'. Jak lze spustit skript „sed“ ze souboru sed, je také uveden v tomto výukovém programu. Doufám, že tento výukový program pomůže čtenáři nahradit více řádků libovolného souboru pomocí příkazu 'sed'.

Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...
Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...
Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...