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 'sed', et asendada n komaga
N komaga asendamisel võib tekkida palju probleeme. Faili loomisel lõpeb vaikimisi iga rida tähega n. Käsk 'sed' saab hõlpsasti jaotada n ja asendada uue rea mis tahes tähemärgiga. N asemel võib kasutada teist eraldajat, kuid ainult siis, kui kasutatakse GNU sed. Kui faili viimasel real puudub n, saab GNU sed printimist vältida n. Lisaks lisatakse tavaliselt n igale järjestikusele väljundile 'sed'.
Looge fail
Selles artiklis näitame teile, kuidas kasutada käsku 'sed', et asendada n komaga. Selle õpetuse jätkamiseks looge tekstifail nimega Clients.txt koos järgmise tabeliteabega.
ID | Nimi | E -post | Telefon |
---|---|---|---|
c01 | Md. Rakib | [e -post kaitstud] | 01856233238 |
c02 | Meher Afroze | [e -post kaitstud] | 01733536342 |
c03 | Fakrul Ahsan | [e -post kaitstud] | 01934737248 |
c04 | Helal Uddin | [e -post kaitstud] | 01534895898 |
c05 | Nusrat Jahan | [e -post kaitstud] | 01866345254 |
Näide 1: asendage n komaga, kasutades -z
Valikut -z kasutatakse n teisendamiseks nullmärgiks ( 0). Faili sisu käsitletakse üherealisena, kui see ei sisalda tühikuid. Käsk 'sed' teisendab uue rea nullmärgiks ja asendab iga n komaga, kasutades esimest otsingu- ja asendusmustrit. Siin kasutatakse sõna „g” globaalseks otsinguks n. Teise otsingu- ja asendusmustriga asendatakse viimane koma n -ga.
$kassClients.txt
$sed -Koos 's/ n/,/g; s/, $/ n/'Clients.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, et kasutatakse ülesannete lisamiseks, b kasutatakse sisu hargnemiseks, N kasutatakse järgmisele reale liikumiseks ja $! kasutatakse, et vältida asendusülesande rakendamist viimasele reale. Käsk asendab igaüks n komaga, välja arvatud viimane rida.
$kassClients.txt
$sed ': a; N; $! ba; s/ n/,/g'Clients.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 hoiatustekstile, 1 h kasutatakse faili iga rea kopeerimiseks esimesest reast hoideteksti, $! d kasutatakse kõigi ridade kustutamiseks, välja arvatud viimane rida, x kasutatakse hoideteksti ja mustriruumi vahetamiseks ning ja kasutatakse igaühe asendamiseks n hoiatustekstis komaga.
$kassClients.txt$sed 'H; 1h; $! D; x; y/ n/,/'Clients.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 hoiatustekstile viimase rea lisamiseks, 1h kasutatakse faili iga rea kopeerimiseks hoideteksti, $ viitab faili viimasele reale, g kasutatakse hoideteksti kopeerimiseks ja lk kasutatakse printimiseks.
$kassClients.txt$sed-n'H; 1h; ${g; s / n/,/g; p} 'Clients.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 eelmistes näidetes selgitatud. Esimene otsingu ja asendamise avaldis asendab iga n komaga ning teine otsingu- ja asendusavaldus asendab koma rea alguses tühikuga.
$kassClients.txt$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt
Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.
Näide 6: asendage n komaga, kasutades N ja 'cat'
Siin kasutatakse käsku 'kass' faili sisu saatmiseks käsule 'sed' ja N kasutatakse järgmisele reale liikumiseks.
$kassClients.txt$kassClients.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 olla vaja asendada n komaga. Seda tüüpi asendamist saab teha ka teiste Linuxi käskude abil. Selle ülesande täitmiseks saab käsuga 'sed' kasutada paljusid käsuvõimalusi, näiteks H, N, h ja x. See õpetus hõlmab mitut võimalust käsu 'sed' kasutamiseks, et asendada n komaga.