Kuinka korvata uusi rivi pilkulla käyttämällä `sed '-komentoa

How Replace Newline With Comma Using Sed Command

Mikä tahansa merkki tai merkkijono voidaan korvata komennolla 'sed'. Joskus meidän on korvattava uuden rivin merkki ( n) tiedostossa pilkulla. Tässä artikkelissa käytämme `sed '-komentoa korvaamaan n pilkulla.

Korvaa n pilkulla käyttämällä 'sed'

Monia ongelmia voi ilmetä, kun n korvataan pilkulla. Oletuksena jokainen rivi päättyy n -tiedostoon luodessaan. Komento 'sed' voidaan helposti jakaa n ja korvata uusi rivi millä tahansa merkillä. Toista erotinta voidaan käyttää n sijaan, mutta vain silloin, kun käytetään GNU sed. Kun n puuttuu tiedoston viimeiseltä riviltä, ​​GNU sed voi välttää tulostamisen n. Lisäksi n lisätään yleensä jokaiseen peräkkäiseen 'sed' -ulostuloon.



Luo tiedosto

Tässä artikkelissa näytämme, kuinka voit käyttää sed -komentoa n korvaamiseen pilkulla. Seuraa tätä opetusohjelmaa luomalla tekstitiedosto nimeltä Clients.txt seuraavien asiakastietojen avulla.



ID Nimi Sähköposti Puhelin
c01 Md. Rakib [sähköposti suojattu] 01856233238
c02 Meher Afroze [sähköposti suojattu] 01733536342
c03 Fakrul Ahsan [sähköposti suojattu] 01934737248
c04 Helal Uddin [sähköposti suojattu] 01534895898
c05 Nusrat Jahan [sähköposti suojattu] 01866345254

Esimerkki 1: Korvaa n pilkulla käyttämällä -z

-Z -vaihtoehtoa käytetään n: n muuntamiseen nollamerkiksi ( 0). Tiedoston sisältöä käsitellään yhtenä rivinä, jos se ei sisällä tyhjiä merkkejä. Komento 'sed' muuntaa uuden rivin nollamerkiksi ja korvaa kaikki n pilkulla käyttämällä ensimmäistä haku- ja korvauskuviota. Tässä g käytetään maailmanlaajuiseen hakuun n. Toisella haku- ja korvauskuviolla viimeinen pilkku korvataan n: llä.



$kissaClients.txt

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

Seuraava komento suoritetaan komennon suorittamisen jälkeen.

Esimerkki 2: Korvaa n pilkulla käyttämällä a, b, $! ja N

Komennolla `sed 'voidaan korvata n pilkulla käyttämällä a, b, N ja $! . Tässä, kohteeseen käytetään tehtävien liittämiseen, b käytetään sisällön haaroittamiseen, N käytetään siirtymään seuraavalle riville, ja $! käytetään estämään korvaustehtävän käyttämistä viimeiselle riville. Komento korvaa jokaisen n pilkulla lukuun ottamatta viimeistä riviä.



$kissaClients.txt

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

Seuraava komento suoritetaan komennon suorittamisen jälkeen.

Esimerkki 3: Korvaa n pilkulla käyttämällä H, h, d, x ja y

Jos haluat vaihtaa n) pilkulla pienessä tiedostossa, voidaan käyttää seuraavaa 'sed' -komentoa. Tässä, H käytetään viimeisen rivin liittämiseen pitotekstiin, 1h käytetään tiedoston jokaisen rivin kopioimiseen ensimmäisen tekstin pitotekstille, $! d käytetään poistamaan kaikki rivit paitsi viimeinen rivi, x käytetään tilan tekstin ja kuvion tilan vaihtamiseen ja ja käytetään jokaisen korvaamiseen n tekstissä pilkulla.

$kissaClients.txt

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

Seuraava komento suoritetaan komennon suorittamisen jälkeen.

Esimerkki 4: Korvaa n pilkulla käyttämällä -n, H, h, g ja p

Sed -komennolla voidaan korvata n pilkulla -n vaihtoehto, joka estää automaattisen tulostuksen. Kuten edellisessä esimerkissä, H käytetään tässä viimeisen rivin liittämiseen pitotekstiin, 1h käytetään tiedoston jokaisen rivin kopioimiseen säilytystekstiin, $ viittaa tiedoston viimeiseen riviin, g käytetään kopiointiin pitotekstistä ja s käytetään tulostamiseen.

$kissaClients.txt

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

Seuraava tulostus tuotetaan yllä olevien komentojen suorittamisen jälkeen.

Esimerkki 5: Korvaa n pilkulla käyttämällä H, x, p

H, x ja s on selitetty aiemmissa esimerkeissä. Ensimmäinen haku- ja korvauslauseke korvaa jokaisen n pilkulla, ja toinen haku- ja korvauslauseke korvaa pilkun rivin alussa välilyönnillä.

$kissaClients.txt

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

Seuraava tulostus tuotetaan yllä olevien komentojen suorittamisen jälkeen.

Esimerkki 6: Korvaa n pilkulla käyttämällä N ja 'kissa'

Komentoa 'kissa' käytetään tässä tiedoston sisällön lähettämiseen komentoon 'sed' ja N käytetään siirtymään seuraavalle riville.

$kissaClients.txt

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

Seuraava tulostus tuotetaan yllä olevien komentojen suorittamisen jälkeen.

Johtopäätös

Tietojen siirtäminen tiedostomuodosta toiseen voi olla tarpeen korvata n pilkulla. Tämäntyyppinen korvaaminen voidaan tehdä myös käyttämällä muita Linux -komentoja. Tämän tehtävän suorittamiseen voidaan käyttää monia komentovaihtoehtoja, kuten H, N, h ja x. Tässä opetusohjelmassa käsitellään useita tapoja käyttää sed -komentoa korvata n pilkulla.