Ethvert tegn eller streng kan erstattes ved å bruke 'Sed' -kommandoen. Noen ganger må vi erstatte Newline -tegn (\ n) i en fil med komma. I denne artikkelen bruker vi 'Sed' -kommandoen for å erstatte \ n med komma.
Bruker 'sed' for å erstatte \ n med et komma
Mange problemer kan oppstå når du erstatter \ n med komma. Som standard ender hver linje med \ n når du oppretter en fil. 'Sed' -kommandoen kan enkelt dele seg på \ n og erstatte Newline med et hvilket som helst tegn. En annen avgrenser kan brukes i stedet for \ n, men bare når GNU SED brukes. Når \ n mangler i den siste linjen i filen, kan Gnu Sed unngå å skrive ut \ n. Videre blir \ n vanligvis lagt til hver påfølgende utgang av 'sed'.
Opprett en fil
I denne artikkelen vil vi vise deg hvordan du bruker 'Sed' -kommandoen for å erstatte \ n med et komma. For å følge med med denne opplæringen, oppretter du en tekstfil som heter Klienter.tekst Med følgende tabulære klientinformasjon.
Id | Navn | E -post | Telefon |
---|---|---|---|
C01 | MD. Rakib | [email protected] | 01856233238 |
C02 | Meher Afroze | [email protected] | 01733536342 |
C03 | Fakrul Ahsan | [email protected] | 01934737248 |
C04 | Helal Uddin | [email protected] | 01534895898 |
C05 | Nusrat Jahan | [email protected] | 01866345254 |
Eksempel 1: Erstatt \ n med et komma ved hjelp av -z
Alternativet -z brukes til å konvertere \ n til null -tegnet (\ 0). Innholdet i filen blir behandlet som en enkelt linje hvis den ikke inneholder noen null -tegn. 'SED' -kommandoen vil konvertere Newline til null -tegnet og erstatte hver \ n med et komma ved å bruke det første søket og erstatte mønsteret. Her brukes 'g' til å søke globalt etter \ n. Med det andre søket og erstatningsmønsteret blir det siste komma erstattet med \ n.
$ CAT -klienter.tekst
$ sed -z 's/\ n/,/g; s/, $/\ n/' klienter.tekst
Følgende utgang vil bli produsert etter å ha kjørt kommandoene.
Eksempel 2: Erstatt \ n med et komma ved hjelp av A, B, $! og n
'Sed' -kommandoen kan brukes til å erstatte \ n med komma ved å bruke A, B, N og $!. Her, en brukes til å legge til oppgaver, b brukes til å forgrense innholdet, N brukes til å gå til neste linje, og $! brukes til å forhindre at erstatningsoppgaven blir brukt på den siste linjen. Kommandoen vil erstatte hver \ n med et komma bortsett fra den siste linjen.
$ CAT -klienter.tekst
$ sed ': a; n; $!ba; s/\ n/,/g 'klienter.tekst
Følgende utgang vil bli produsert etter å ha kjørt kommandoene.
Eksempel 3: Erstatt \ n med et komma ved hjelp av h, h, d, x og y
Hvis du vil erstatte \ n) Med et komma i en liten fil, kan følgende 'Sed' -kommando brukes. Her, H brukes til å legge den siste linjen til holdeteksten, 1H brukes til å kopiere hver linje i filen til holdeteksten fra første linje, $!d brukes til å slette alle linjer bortsett fra den siste linjen, x brukes til å utveksle holdeteksten og mønsterområdet, og y brukes til å erstatte hver \ n i holdeteksten med komma.
$ CAT -klienter.tekst
$ sed 'h; 1H; $!d; x; y/\ n/,/'klienter.tekst
Følgende utgang vil bli produsert etter å ha kjørt kommandoene.
Eksempel 4: Erstatt \ n med et komma ved hjelp av -n, h, h, g og p
'Sed' -kommandoen kan brukes til å erstatte \ n med et komma med -n Alternativ, som forhindrer automatisk utskrift. Som i forrige eksempel, H brukes her for å legge den siste linjen til holdeteksten, 1H brukes til å kopiere hver linje i filen til holdeteksten, $ refererer til den siste linjen i filen, g brukes til å kopiere fra holdeteksten, og p brukes til å skrive ut.
$ CAT -klienter.tekst
$ sed -n "h; 1H; \ $ g; s/\ n/,/g; p" klienter.tekst
Følgende utgang vil bli produsert etter å ha kjørt kommandoene ovenfor.
Eksempel 5: Erstatt \ n med et komma ved hjelp av H, X, P
H, X og P har blitt forklart i tidligere eksempler. Det første søket og erstattet uttrykk vil erstatte hver \ n med et komma, og det andre søket og erstattet uttrykk vil erstatte et komma i begynnelsen av en linje med et rom.
$ CAT -klienter.tekst
$ sed -n 'h; $ x; s/\ n/,/g; s/^, //; p;' klienter.tekst
Følgende utgang vil bli produsert etter å ha kjørt kommandoene ovenfor.
Eksempel 6: Erstatt \ n med et komma ved hjelp av n og 'katt'
Kommandoen 'Cat' brukes her for å sende innholdet i filen til 'Sed' -kommandoen, og N brukes til å flytte til neste linje.
$ CAT -klienter.tekst
$ CAT -klienter.txt | sed 'n; s/\ n/,/'
Følgende utgang vil bli produsert etter å ha kjørt kommandoene ovenfor.
Konklusjon
Det kan være nødvendig å erstatte \ n med et komma for å overføre data fra ett filformat til et annet. Denne typen erstatning kan også gjøres ved å bruke andre Linux -kommandoer. Mange kommandoalternativer, for eksempel H, N, H og X, kan brukes med 'Sed' -kommandoen for å fullføre denne oppgaven. Denne opplæringen går over flere måter å bruke 'Sed' -kommandoen for å erstatte \ n med et komma.