Běžně používaný cheat list „sed“:
Nejčastěji používané znaky používané v příkazu `sed` jsou vysvětleny v následující tabulce.
Charakter | Účel |
na | Slouží k připojování obsahu. |
b | Používá se k větvení obsahu. |
C | Používá se pro změnu obsahu. |
d | Slouží k odstranění řádku souboru. |
D | Slouží k odstranění prvního řádku souboru. |
G | Dříve se kopírovalo z pozdrženého textu. |
G | Slouží k připojení z přidrženého textu. |
h | Používá se ke kopírování v pozdrženém textu. |
H | Slouží k připojení k přidrženému textu. |
já | Slouží k vložení. |
Já | Slouží 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 | Slouží k tisku. |
P | Slouží k tisku prvního řádku. |
co | Slouží k ukončení. |
Otázka | Slouží k okamžitému ukončení. |
r | Slouží ke čtení souboru. |
R. | Slouží ke čtení řádku ze souboru. |
s | Používá se k nahrazení. |
t | Slouží k testování substituce. |
T | Používá se k testování bez náhrady. |
v | Slouží k zápisu do souboru. |
V | Slouží k zapsání řádku do souboru. |
X | Slouží k výměně vzorů a přidržení. |
a | Slouží k překladu. |
S | Slouží k vymazání linky. |
'=' | Slouží k vytištění čísla řádku. |
Nahraďte více řádků pomocí příkazu `sed` z terminálu:
V této části tohoto tutoriálu je ukázáno, jak lze příkaz `sed` použít k nahrazení více řádků ze souboru z terminá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 společností Lee E. McMahon.
Používá se pro zpracování textu.
Podporuje regulární výrazy.
Příklad 1: Vyměňte 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 3rda 4thřádky souboru budou nahrazeny textem, „Je to velmi užitečný nástroj“ .
$kočkased.txt$sed -S 's/Byl vyvinut společností Lee E. McMahon. nPoužívá se pro text
zpracování./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: Nahradit 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čkased.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 spisu. Tyto řádky byly tedy nahrazeny náhradní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 „Podle slova“ byl ‘S příkazem dalšího řádku‘ ‘n‘.
$kočkased.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 ve 2nda 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. Je to ale skriptovací jazyk, a pokud skript obsahuje více příkazů, je lepší se skriptem vytvořit soubor sed. Vytvořte textový soubor s názvem students.txt s následujícím obsahem, ve kterém bude použit skript `sed '.
students.txt
ID: 111045Jméno: Robert
Oddělení: CSE
Dávka: 35
ID: 111876
Jméno: Joseph
Pracoviště: 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í skriptového souboru `sed`
Vytvořte soubor sed s názvem vyměnit.sed s následujícím obsahem, který nahradí více řádků na základě vzoru hledání. Tady slovo „ CSE „Bude prohledáno v textovém souboru, a pokud shoda existuje, pak znovu prohledá čísla 35 a 15. Pokud v souboru existuje druhá shoda, bude nahrazena číslem 45.
vyměnit.sed
/CSE/ {p; n;
/35/ {
s/35/Čtyři pět/;
p; d;
}
/patnáct/ {
s/patnáct/55/;
p; d;
}
}
p;
Spuštěním následujícího příkazu zkontrolujte stávající obsah souboru. „CSE“ se v textovém souboru objevilo čtyřikrát. 35 a 15 existují na dvou místech.
$kočkastudents.txt
Následující příkaz nahradí obsah více řádků na základě skriptu sed.
$sed -n -Freplace.sed students.txtPo spuštění příkazu se zobrazí následující výstup.
Závěr
V tomto kurzu byly ukázány různé způsoby, jak nahradit více řádků nebo obsah více řádků pomocí příkazu `sed '. V tomto tutoriálu je také ukázáno, jak lze skript `sed 'spustit ze souboru sed. Doufám, že tento návod pomůže čtenáři nahradit více řádků libovolného souboru pomocí příkazu `sed '.