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.