Jak nahradit nový řádek čárkou pomocí příkazu `sed`

How Replace Newline With Comma Using Sed Command



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.