Kaip pakeisti naują eilutę kableliu naudojant komandą „sed“

How Replace Newline With Comma Using Sed Command



Bet kurį simbolį ar eilutę galima pakeisti naudojant komandą „sed“. Kartais failo naują eilutės simbolį ( n) turime pakeisti kableliu. Šiame straipsnyje mes naudojame komandą „sed“, kad pakeistume n kableliu.

Naudokite „sed“, kad pakeistumėte n kableliu

Pakeitus n kableliu, gali kilti daug problemų. Pagal numatytuosius nustatymus kuriant failą kiekviena eilutė baigiasi n. Komanda „sed“ gali būti lengvai padalinta į n ir pakeisti naują eilutę bet kokiu simboliu. Vietoj n galima naudoti kitą ribotuvą, bet tik tada, kai naudojamas GNU sed. Kai paskutinėje failo eilutėje trūksta n, GNU sed gali išvengti spausdinimo n. Be to, n paprastai pridedamas prie kiekvienos iš eilės išvesties „sed“.





Sukurkite failą

Šiame straipsnyje parodysime, kaip naudoti komandą „sed“, kad pakeistumėte n kableliu. Norėdami tęsti šią pamoką, sukurkite teksto failą pavadinimu Klientai.txt su tokia lentelės informacija apie klientą.



ID vardas Paštu Telefonas
c01 Md. Rakibas [apsaugotas el. paštas] 01856233238
c02 Meher Afroze [apsaugotas el. paštas] 01733536342
c03 Fakrul Ahsan [apsaugotas el. paštas] 01934737248
c04 Helal Uddin [apsaugotas el. paštas] 01534895898
c05 Nusrat Jahan [apsaugotas el. paštas] 01866345254

1 pavyzdys: pakeiskite n kableliu naudodami -z

Parinktis -z naudojama n konvertuoti į nulinį simbolį ( 0). Failo turinys laikomas viena eilute, jei jame nėra tuščių simbolių. Komanda „sed“ konvertuos naują eilutę į nulinį simbolį ir pakeis kiekvieną n kableliu, naudodami pirmąjį paieškos ir pakeitimo modelį. Čia „g“ naudojama visame pasaulyje ieškant n. Naudojant antrąjį paieškos ir pakeitimo modelį, paskutinis kablelis bus pakeistas n.



$katėKlientai.txt

$sed -Su 's/ n/,/g; s/, $/ n/'Klientai.txt

Paleidus komandas bus sukurta ši išvestis.





2 pavyzdys: pakeiskite n kableliu naudodami a, b, $! ir N.

Komanda „sed“ gali būti naudojama pakeisti n kableliu naudojant a, b, N ir $! . Čia, į naudojamas užduotims pridėti, b naudojamas turinio padalijimui, N naudojamas pereiti prie kitos eilutės ir $! naudojamas siekiant užkirsti kelią pakeitimo užduočiai taikyti paskutinę eilutę. Komanda pakeis kiekvieną n su kableliu, išskyrus paskutinę eilutę.



$katėKlientai.txt

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

Paleidus komandas bus sukurta ši išvestis.

3 pavyzdys: pakeiskite n kableliu, naudodami H, h, d, x ir y

Jei norite pakeisti n) su kableliu mažame faile, tada galima naudoti šią komandą „sed“. Čia, H yra naudojama paskutinei eilutei pridėti prie sulaikymo teksto, 1 h naudojama nukopijuoti kiekvieną failo eilutę į laikymo tekstą iš pirmosios eilutės, $! d naudojamas ištrinti visas eilutes, išskyrus paskutinę, x yra naudojamas apsikeitimo tekstui ir rašto erdvei, ir ir naudojamas kiekvienam pakeisti n laikymo tekste su kableliu.

$katėKlientai.txt

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

Paleidus komandas bus sukurta ši išvestis.

4 pavyzdys: pakeiskite n kableliu, naudodami -n, H, h, g ir p

Komanda „sed“ gali būti naudojama pakeisti n su kableliu su -n parinktis, kuri neleidžia automatiškai spausdinti. Kaip ir ankstesniame pavyzdyje, H čia naudojama paskutinei eilutei pridėti prie laikymo teksto, 1 val naudojamas nukopijuoti kiekvieną failo eilutę į laikymo tekstą, $ nurodo paskutinę failo eilutę, g naudojamas kopijuoti iš laikymo teksto ir p naudojamas spausdinti.

$katėKlientai.txt

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

Toliau išvestis bus sukurta paleidus aukščiau pateiktas komandas.

5 pavyzdys: pakeiskite n kableliu, naudodami H, x, p

H, x ir p buvo paaiškinta ankstesniuose pavyzdžiuose. Pirmoji paieškos ir pakeitimo išraiška pakeis kiekvieną n su kableliu, o antroji paieškos ir pakeitimo išraiška pakeis kablelį eilutės pradžioje su tarpu.

$katėKlientai.txt

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

Toliau išvestis bus sukurta paleidus aukščiau pateiktas komandas.

6 pavyzdys: pakeiskite n kableliu, naudodami N ir „cat“

Komanda „cat“ čia naudojama failo turiniui siųsti į komandą „sed“ ir N naudojamas pereiti į kitą eilutę.

$katėKlientai.txt

$katėKlientai.txt| sed „N; s/ n/,/“

Toliau išvestis bus sukurta paleidus aukščiau pateiktas komandas.

Išvada

Jei norite perkelti duomenis iš vieno failo formato į kitą, gali reikėti pakeisti n kableliu. Tokį pakeitimą taip pat galima atlikti naudojant kitas „Linux“ komandas. Šiai užduočiai atlikti gali būti naudojama daug komandų parinkčių, pvz., H, N, h ir x. Šioje pamokoje pateikiami keli būdai, kaip naudoti komandą „sed“, kad pakeistumėte n kableliu.