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í. |
Já | 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: 111045Jmé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.txtPo 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'.