Kako z ukazom `sed` zamenjati novo vrstico z vejico

How Replace Newline With Comma Using Sed Command



Vsak znak ali niz lahko zamenjate z ukazom `sed`. Včasih moramo znak nove vrstice ( n) v datoteki zamenjati z vejico. V tem članku uporabljamo ukaz `sed` za zamenjavo n z vejico.

Uporabite `sed` za zamenjavo n z vejico

Pri zamenjavi n z vejico se lahko pojavijo številne težave. Pri ustvarjanju datoteke se privzeto vsaka vrstica konča z n. Ukaz `sed` lahko preprosto razdelite na n in zamenjate novo vrstico s katerim koli znakom. Namesto n je mogoče uporabiti še en ločilo, vendar le, če se uporablja GNU sed. Ko n manjka v zadnji vrstici datoteke, se lahko GNU sed izogne ​​tiskanju n. Poleg tega se n običajno doda vsakemu zaporednemu izhodu 'sed'.







Ustvarite datoteko

V tem članku vam bomo pokazali, kako z ukazom `sed` zamenjati n z vejico. Če želite slediti tej vadnici, ustvarite besedilno datoteko z imenom Clients.txt z naslednjimi tabelarnimi podatki o odjemalcu.



ID Ime E-naslov Telefon
c01 Md. Rakib [zaščiteno po e -pošti] 01856233238
c02 Meher Afroze [zaščiteno po e -pošti] 01733536342
c03 Fakrul Ahsan [zaščiteno po e -pošti] 01934737248
c04 Helal Uddin [zaščiteno po e -pošti] 01534895898
c05 Nusrat Jahan [zaščiteno po e -pošti] 01866345254

Primer 1: Zamenjajte n z vejico z uporabo -z

Možnost -z se uporablja za pretvorbo n v ničelni znak ( 0). Vsebina datoteke se obravnava kot ena vrstica, če ne vsebuje ničelnih znakov. Ukaz `sed` bo novo vrstico pretvoril v ničelni znak in vsako n zamenjal z vejico z uporabo prvega vzorca za iskanje in zamenjavo. Tukaj se 'g' uporablja za globalno iskanje n. Z drugim vzorcem iskanja in zamenjave bo zadnja vejica zamenjana z n.



$mačkaClients.txt

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

Po zagonu ukazov bo prikazan naslednji izhod.





Primer 2: Zamenjajte n z vejico z a, b, $! in N.

Ukaz `sed` lahko uporabite za zamenjavo n z vejico z uporabo a, b, N in $! . Tukaj, do se uporablja za dodajanje nalog, b se uporablja za razvejanje vsebine, N se uporablja za prehod na naslednjo vrstico in $! se uporablja za preprečitev uporabe nadomestne naloge v zadnji vrstici. Ukaz bo zamenjal vsakega n z vejico razen zadnje vrstice.



$mačkaClients.txt

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

Po zagonu ukazov bo prikazan naslednji izhod.

Primer 3: Zamenjajte n z vejico z uporabo H, h, d, x in y

Če želite zamenjati n) z vejico v majhni datoteki, potem lahko uporabite naslednji ukaz `sed`. Tukaj, H se uporablja za dodajanje zadnje vrstice v besedilo, 1h se uporablja za kopiranje vsake vrstice datoteke v besedilo iz prve vrstice, $! d se uporablja za brisanje vseh vrstic, razen zadnje vrstice, x se uporablja za izmenjavo besedila in prostora za vzorce ter in se uporablja za zamenjavo vsakega n v besedilu z vejico.

$mačkaClients.txt

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

Po zagonu ukazov bo prikazan naslednji izhod.

Primer 4: Zamenjajte n z vejico z uporabo -n, H, h, g in p

Ukaz `sed` lahko uporabite za zamenjavo n z vejico z -n možnost, ki preprečuje samodejno tiskanje. Tako kot v prejšnjem primeru, H se tukaj uporablja za dodajanje zadnje vrstice v besedilo, 1 h se uporablja za kopiranje vsake vrstice datoteke v besedilo, $ se nanaša na zadnjo vrstico datoteke, g se uporablja za kopiranje iz zadrževalnega besedila in str se uporablja za tiskanje.

$mačkaClients.txt

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

Naslednji izhod bo izdelan po izvajanju zgornjih ukazov.

Primer 5: Zamenjajte n z vejico z uporabo H, x, str

H, x in p razloženo v prejšnjih primerih. Prvi izraz za iskanje in zamenjavo bo zamenjal vsakega n z vejico, drugi izraz za iskanje in zamenjavo pa bo vejico na začetku vrstice nadomestil s presledkom.

$mačkaClients.txt

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

Naslednji izhod bo izdelan po izvajanju zgornjih ukazov.

Primer 6: Zamenjajte n z vejico z uporabo N in `cat`

Ukaz `cat` se tukaj uporablja za pošiljanje vsebine datoteke ukazu` sed` in N se uporablja za premik v naslednjo vrstico.

$mačkaClients.txt

$mačkaClients.txt| sed 'N; s/ n/,/'

Naslednji izhod bo izdelan po izvajanju zgornjih ukazov.

Zaključek

Morda bo treba za prenos podatkov iz ene oblike datoteke v drugo zamenjati n z vejico. To vrsto zamenjave lahko izvedete tudi z drugimi ukazi Linuxa. Za dokončanje te naloge lahko z ukazom `sed` uporabite številne možnosti ukazov, na primer H, N, h in x. Ta vadnica obravnava več načinov uporabe ukaza `sed` za zamenjavo n z vejico.