Hvordan erstatte Newline med komma ved hjelp av 'Sed' -kommandoen

Hvordan erstatte Newline med komma ved hjelp av 'Sed' -kommandoen

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.