Ako nahradiť nový riadok čiarkou pomocou príkazu `sed '

How Replace Newline With Comma Using Sed Command



Akýkoľvek znak alebo reťazec je možné nahradiť pomocou príkazu `sed`. Niekedy musíme v súbore nahradiť znak nového riadka ( n) čiarkou. V tomto článku použijeme príkaz `sed 'na nahradenie n čiarkou.

Na nahradenie n čiarkou použite príkaz „sed“

Pri nahradení n čiarkou môže nastať mnoho problémov. Pri vytváraní súboru sa predvolene každý riadok končí n. Príkaz `sed 'sa dá ľahko rozdeliť na n a nahradiť nový riadok ľubovoľným znakom. Namiesto n je možné použiť iný oddeľovač, ale iba vtedy, ak sa používa GNU sed. Ak n chýba v poslednom riadku súboru, GNU sed sa môže vyhnúť tlači n. Ďalej n sa zvyčajne pridáva do každého nasledujúceho výstupu `sed '.







Vytvorte súbor

V tomto článku vám ukážeme, ako použiť príkaz `sed 'na nahradenie n čiarkou. Ak chcete pokračovať v tomto návode, vytvorte textový súbor s názvom Clients.txt s nasledujúcimi tabuľkovými informáciami o klientovi.



ID názov E -mail Telefón
c01 Md. Rakib [chránené e -mailom] 01856233238
c02 Meher Afroze [chránené e -mailom] 01733536342
c03 Fakrul Ahsan [chránené e -mailom] 01934737248
c04 Helal Uddin [chránené e -mailom] 01534895898
c05 Nusrat Jahan [chránené e -mailom] 01866345254

Príklad 1: Nahraďte n čiarkou pomocou -z

Voľba -z sa používa na konverziu n na nulový znak ( 0). Obsah súboru je považovaný za jeden riadok, ak neobsahuje žiadne nulové znaky. Príkaz `sed` prevedie nový riadok na nulový znak a nahradí každé n čiarkou pomocou prvého vzoru hľadania a nahradenia. Tu sa „g“ používa na globálne vyhľadávanie n. Pri druhom vzore vyhľadávania a nahradenia sa posledná čiarka nahradí n.



$katClients.txt

$sed -S 's/ n/,/g; s/, $/ n/'Clients.txt

Po spustení príkazov bude vytvorený nasledujúci výstup.





Príklad 2: Nahraďte n čiarkou pomocou a, b, $! a N.

Príkaz `sed 'je možné použiť na nahradenie n čiarkou pomocou a, b, N a $! . Tu, do slúži na pridávanie úloh, b slúži na vetvenie obsahu, N. sa používa na prechod na nasledujúci riadok, a $! sa používa na zabránenie tomu, aby sa úloha nahradenia použila na posledný riadok. Príkaz nahradí všetky n čiarkou okrem posledného riadka.



$katClients.txt

$sed ': a; N; $! ba; s/ n/,/g'Clients.txt

Po spustení príkazov bude vytvorený nasledujúci výstup.

Príklad 3: Nahraďte n čiarkou pomocou H, h, d, x a y

Ak chcete vymeniť n) čiarkou v malom súbore, potom možno použiť nasledujúci príkaz `sed`. Tu, H sa používa na pripojenie posledného riadka k podržanému textu, 1 h sa použije na skopírovanie každého riadka súboru do podržaného textu z prvého riadka, $! d slúži na vymazanie všetkých riadkov okrem posledného, X sa používa na výmenu medzery medzi textom a vzorom a a sa používa na nahradenie každého n v pozdržanom texte čiarkou.

$katClients.txt

$sed 'H; 1h; $! D; x; y/ n/,/'Clients.txt

Po spustení príkazov bude vytvorený nasledujúci výstup.

Príklad 4: Nahraďte n čiarkou pomocou -n, H, h, g a p

Na nahradenie je možné použiť príkaz `sed` n čiarkou s -n možnosť, ktorá zabraňuje automatickej tlači. Rovnako ako v predchádzajúcom prípade, H používa sa tu na pripojenie posledného riadka k podržanému textu, 1 hod používa sa na skopírovanie každého riadka súboru do zadržaného textu, $ odkazuje na posledný riadok súboru, g sa používa na kopírovanie z podržaného textu a p slúži na tlač.

$katClients.txt

$sed-n'H; 1h; ${g; s / n/,/g; p} 'Clients.txt

Po spustení vyššie uvedených príkazov bude vytvorený nasledujúci výstup.

Príklad 5: Nahraďte n čiarkou pomocou H, x, s

H, x a p boli vysvetlené v predchádzajúcich príkladoch. Prvý výraz vyhľadávania a nahradenia nahradí každý n čiarkou a druhý výraz vyhľadávania a nahradenia nahradí čiarkou na začiatku riadka medzera.

$katClients.txt

$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt

Po spustení vyššie uvedených príkazov bude vytvorený nasledujúci výstup.

Príklad 6: Nahraďte n čiarkou pomocou N a `cat`

Tu sa príkaz „mačka“ používa na odoslanie obsahu súboru na príkaz „sed“ a N. slúži na prechod na nasledujúci riadok.

$katClients.txt

$katClients.txt| sed 'N; s/ n/,/'

Po spustení vyššie uvedených príkazov bude vytvorený nasledujúci výstup.

Záver

Na prenos údajov z jedného formátu súboru do druhého môže byť potrebné nahradiť n čiarkou. Tento typ náhrady je možné vykonať aj pomocou iných príkazov systému Linux. Na vykonanie tejto úlohy je možné použiť mnoho príkazových príkazov, ako napríklad H, N, h a x, pomocou príkazu `sed`. Tento tutoriál sa zaoberá niekoľkými spôsobmi použitia príkazu `sed` na nahradenie n čiarkou.