Jakýkoli znak nebo řetězec lze nahradit příkazem `sed`. Někdy musíme nahradit znak nového řádku ( n) v souboru čárkou. V tomto článku použijeme příkaz `sed 'k nahrazení n čárkou.
K nahrazení n čárkou použijte `sed`
Při nahrazování n čárkou může nastat mnoho problémů. Ve výchozím nastavení každý řádek končí při vytváření souboru n. Příkaz `sed 'lze snadno rozdělit na n a nahradit nový řádek libovolným znakem. Místo n lze použít jiný oddělovač, ale pouze pokud je použit GNU sed. Pokud n chybí na posledním řádku souboru, GNU sed se může vyhnout tisku n. Navíc n se obvykle přidává ke každému po sobě následujícímu výstupu `sed`.
Vytvořte soubor
V tomto článku si ukážeme, jak pomocí příkazu `sed` nahradit n čárkou. Chcete -li v tomto kurzu postupovat, vytvořte textový soubor s názvem Clients.txt s následujícími tabulkovými informacemi o klientovi.
ID | název | E-mailem | Telefon |
---|---|---|---|
c01 | Md. Rakib | [chráněno emailem] | 01856233238 |
c02 | Meher Afroze | [chráněno emailem] | 01733536342 |
c03 | Fakrul Ahsan | [chráněno emailem] | 01934737248 |
c04 | Helal Uddin | [chráněno emailem] | 01534895898 |
c05 | Nusrat Jahan | [chráněno emailem] | 01866345254 |
Příklad 1: Nahraďte n čárkou pomocí -z
Volba -z slouží k převodu n na nulový znak ( 0). Obsah souboru je považován za jeden řádek, pokud neobsahuje žádné nulové znaky. Příkaz `sed 'převede nový řádek na znak null a nahradí každé n čárkou pomocí prvního vzoru hledání a nahrazení. Zde se 'g' používá k globálnímu vyhledávání n. S druhým vzorem hledání a nahrazení bude poslední čárka nahrazena n.
$kočkaClients.txt
$sed -S 's/ n/,/g; s/, $/ n/'Clients.txt
Po spuštění příkazů bude vytvořen následující výstup.
Příklad 2: Nahraďte n čárkou pomocí a, b, $! a N.
Příkaz `sed 'lze použít k nahrazení n čárkou pomocí a, b, N a $! . Tady, na slouží k připojování úkolů, b slouží k větvení obsahu, N. slouží k přechodu na další řádek a $! se používá k zabránění použití úlohy nahrazení na poslední řádek. Příkaz nahradí každý n čárkou kromě posledního řádku.
$kočkaClients.txt
$sed ': a; N; $! ba; s/ n/,/g'Clients.txt
Po spuštění příkazů bude vytvořen následující výstup.
Příklad 3: Nahraďte n čárkou pomocí H, h, d, x a y
Pokud chcete vyměnit n) s čárkou v malém souboru, pak lze použít následující příkaz `sed`. Tady, H slouží k připojení posledního řádku k podrženému textu, 1 h slouží ke zkopírování každého řádku souboru do přidržovacího textu z prvního řádku, $! d slouží k odstranění všech řádků kromě posledního řádku, X slouží k výměně podrženého textu a prostoru vzoru a a slouží k výměně každého n v pozdrženém textu čárkou.
$kočkaClients.txt$sed 'H; 1h; $! D; x; y/ n/,/'Clients.txt
Po spuštění příkazů bude vytvořen následující výstup.
Příklad 4: Nahraďte n čárkou pomocí -n, H, h, g a p
K nahrazení lze použít příkaz `sed` n čárkou s -n možnost, která brání automatickému tisku. Stejně jako v předchozím příkladu H zde se používá k připojení posledního řádku k přidrženému textu, 1 hod slouží ke zkopírování každého řádku souboru do přidrženého textu, $ odkazuje na poslední řádek souboru, G se používá ke kopírování z přidrženého textu a p slouží k tisku.
$kočkaClients.txt$sed-n'H; 1h; ${g; s / n/,/g; p} 'Clients.txt
Po spuštění výše uvedených příkazů bude vytvořen následující výstup.
Příklad 5: Nahraďte n čárkou pomocí H, x, p
H, x a p byly vysvětleny v předchozích příkladech. První výraz hledání a nahrazení nahradí každý n čárkou a druhý výraz hledání a nahrazení nahradí čárkou na začátku řádku mezeru.
$kočkaClients.txt$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt
Po spuštění výše uvedených příkazů bude vytvořen následující výstup.
Příklad 6: Nahraďte n čárkou pomocí N a `cat`
Zde se používá příkaz `cat` k odeslání obsahu souboru do příkazu` sed`, a N. slouží k přesunu na další řádek.
$kočkaClients.txt$kočkaClients.txt| sed 'N; s/ n/,/'
Po spuštění výše uvedených příkazů bude vytvořen následující výstup.
Závěr
K přenosu dat z jednoho formátu souboru do jiného může být nutné nahradit n čárkou. Tento typ výměny lze provést také pomocí jiných příkazů Linuxu. K dokončení tohoto úkolu lze s příkazem `sed` použít mnoho možností příkazů, jako například H, N, h a x. Tento výukový program se zabývá několika způsoby, jak pomocí příkazu `sed` nahradit n čárkou.