sed

Kuidas asendada Newline komaga, kasutades käsku sed

Kuidas asendada Newline komaga, kasutades käsku sed

Mis tahes märgi või stringi saab asendada käsuga 'sed'. Mõnikord peame failis uue rea märgi (\ n) asendama komaga. Selles artiklis kasutame käsku „sed”, et asendada \ n komaga.

Kasutades sõna „sed”, asendatakse \ n komaga

\ N komaga asendamisel võib tekkida palju probleeme. Vaikimisi lõpeb faili loomisel iga rida \ n-ga. Käsku „sed” saab hõlpsasti jaotada \ n ja asendada uue rea mis tahes tähemärgiga. \ N asemel saab kasutada teist eraldajat, kuid ainult siis, kui kasutatakse GNU sed-i. Kui faili viimasel real puudub \ n, saab GNU sed printimist vältida \ n. Lisaks lisatakse \ n tavaliselt igale järjestikusele „sed” väljundile.

Looge fail

Selles artiklis me näitame teile, kuidas kasutada käsku „sed”, et asendada \ n komaga. Selle õpetuse järgimiseks looge nimega tekstifail Kliendid.txt järgmise tabeliga klienditeabega.

ID Nimi E-post Telefon
c01 Md. Rakib [meiliga kaitstud] 01856233238
c02 Meher Afroze [meiliga kaitstud] 01733536342
c03 Fakrul Ahsan [meiliga kaitstud] 01934737248
c04 Helal Uddin [meiliga kaitstud] 01534895898
c05 Nusrat Jahan [meiliga kaitstud] 01866345254

Näide 1: asendage \ n komaga, kasutades -z

Valikut -z kasutatakse \ n teisendamiseks nullmärgiks (\ 0). Faili sisu käsitletakse ühe reana, kui see ei sisalda nullmärke. Käsk „sed” teisendab uue rea nullmärgiks ja asendab iga \ n komaga, kasutades esimest otsingu- ja asendusmustrit. Siin kasutatakse tähte „g” globaalselt \ n otsimiseks. Teise otsingu- ja asendusmustri korral asendatakse viimane koma numbriga \ n.

$ kassi kliendid.txt
$ sed -z 's / \ n /, / g; s /, $ / \ n /' kliendid.txt

Pärast käskude käivitamist luuakse järgmine väljund.

Näide 2: asendage \ n komaga, kasutades a, b, $! ja N

Käsuga 'sed' saab asendada \ n komaga, kasutades a, b, N ja $!. Siin, a kasutatakse ülesannete lisamiseks, b kasutatakse sisu hargnemiseks, N kasutatakse järgmisele reale liikumiseks ja $! kasutatakse selleks, et vältida asendusülesande rakendamist viimasele reale. Käsk asendab kõik \ n komaga, välja arvatud viimane rida.

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

Pärast käskude käivitamist luuakse järgmine väljund.

Näide 3: asendage \ n komaga, kasutades H, h, d, x ja y

Kui soovite asendada \ n) komaga väikeses failis, siis saab kasutada järgmist käsku "sed". Siin, H kasutatakse viimase rea lisamiseks hoidmistekstile, 1h kasutatakse faili iga rea ​​kopeerimiseks esimesest reast hoidmisteksti, $!d kasutatakse kõigi ridade, välja arvatud viimase rea, kustutamiseks, x kasutatakse hoidva teksti ja mustriruumi vahetamiseks ja y kasutatakse nende asendamiseks \ n hoiatavas tekstis komaga.

$ kassi kliendid.txt
$ sed 'H; 1h; $!d; x; y / \ n /, / 'Kliendid.txt

Pärast käskude käivitamist luuakse järgmine väljund.

Näide 4: asendage \ n komaga, kasutades -n, H, h, g ja p

Asendamiseks saab kasutada käsku „sed” \ n komaga koos -n suvand, mis takistab automaatset printimist. Nagu eelmises näites, H kasutatakse siin hoidmisteksti viimase rea lisamiseks, 1h kasutatakse faili kõigi ridade kopeerimiseks hoidmisteksti, $ viitab faili viimasele reale, g kasutatakse hoidmisteksti kopeerimiseks ja lk kasutatakse printimiseks.

$ kassi kliendid.txt
$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" kliendid.txt

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.

Näide 5: asendage \ n komaga, kasutades H, x, p

H, x ja lk on selgitatud varasemates näidetes. Esimene otsingu- ja asendusavaldus asendab need kõik \ n komaga ning teine ​​otsingu- ja asendusavaldus asendab koma rea ​​alguses tühikuga.

$ kassi kliendid.txt
$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' kliendid.txt

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.

Näide 6: asendage \ n komaga, kasutades N ja 'cat'

Käsku "kass" kasutatakse siin faili sisu saatmiseks käsule "sed" ja N kasutatakse järgmisele reale liikumiseks.

$ kassi kliendid.txt
$ kassi kliendid.txt | sed 'N; s / \ n /, /'

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.

Järeldus

Andmete ülekandmiseks ühest failivormingust teise võib osutuda vajalikuks asendada \ n komaga. Seda tüüpi asendust saab teha ka teiste Linuxi käskude abil. Selle ülesande täitmiseks saab käsuga 'sed' kasutada paljusid käsuvalikuid, näiteks H, N, h ja x. Selles õpetuses käsitletakse mitut viisi, kuidas kasutada käsku „sed”, et asendada \ n komaga.

OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...
Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...