sed

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 kommandoen 'sed'. Noen ganger må vi erstatte det nye linjetegnet (\ n) i en fil med et komma. I denne artikkelen bruker vi kommandoen 'sed' til å erstatte \ n med et komma.

Bruker 'sed' for å erstatte \ n med komma

Mange problemer kan oppstå når du erstatter \ n med et komma. Som standard slutter hver linje med \ n når du oppretter en fil. Kommandoen 'sed' kan enkelt deles på \ n og erstatte den nye linjen med hvilket som helst tegn. En annen skilletegn 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å utskrift \ n. Videre blir \ n vanligvis lagt til hver påfølgende utgang av 'sed'.

Lag en fil

I denne artikkelen vil vi vise deg hvordan du bruker kommandoen 'sed' for å erstatte \ n med et komma. For å følge denne veiledningen, opprett en tekstfil med navnet Kunder.tekst med følgende tabellinformasjon om klienten.

ID Navn E-post Telefon
c01 Md. Rakib [e-postbeskyttet] 01856233238
c02 Meher Afroze [e-postbeskyttet] 01733536342
c03 Fakrul Ahsan [e-postbeskyttet] 01934737248
c04 Helal Uddin [e-postbeskyttet] 01534895898
c05 Nusrat Jahan [e-postbeskyttet] 01866345254

Eksempel 1: Erstatt \ n med komma med -z

Alternativet -z brukes til å konvertere \ n til nulltegnet (\ 0). Innholdet i filen behandles som en enkelt linje hvis den ikke inneholder noen nulltegn. Kommandoen 'sed' konverterer den nye linjen til nulltegnet og erstatter hver \ n med et komma ved å bruke det første mønsteret for søk og erstat. Her brukes 'g' til å søke globalt etter \ n. Med det andre mønsteret for søk og erstatning vil det siste kommaet bli erstattet med \ n.

$ cat klienter.tekst
$ sed -z 's / \ n /, / g; s /, $ / \ n /' Klienter.tekst

Følgende utdata blir produsert etter kjøring av kommandoene.

Eksempel 2: Erstatt \ n med komma med a, b, $! og N

Kommandoen 'sed' kan brukes til å erstatte \ n med et 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 erstatter hver \ n med komma unntatt siste linje.

$ cat klienter.tekst
$ sed ': a; N; $!ba; s / \ n /, / g 'Kunder.tekst

Følgende utdata blir produsert etter kjøring av kommandoene.

Eksempel 3: Erstatt \ n med komma ved hjelp av H, h, d, x og y

Hvis du vil erstatte \ n) med komma i en liten fil, kan følgende 'sed' kommando brukes. Her, H brukes til å legge den siste linjen til holdeteksten, 1t 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 holdteksten og mønsterområdet, og y brukes til å erstatte hver \ n i holdeteksten med komma.

$ cat klienter.tekst
$ sed 'H; 1t; $!d; x; y / \ n /, / 'Klienter.tekst

Følgende utdata blir produsert etter kjøring av kommandoene.

Eksempel 4: Erstatt \ n med komma med -n, H, h, g og p

Kommandoen 'sed' kan brukes til å erstatte \ n med komma med -n som forhindrer automatisk utskrift. Som i forrige eksempel, H brukes her for å legge til den siste linjen i holdeteksten, 1t brukes til å kopiere hver linje i filen til holdteksten, $ refererer til den siste linjen i filen, g brukes til å kopiere fra lagringsteksten, og s brukes til å skrive ut.

$ cat klienter.tekst
$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" Klienter.tekst

Følgende utdata blir produsert etter å ha kjørt kommandoene ovenfor.

Eksempel 5: Erstatt \ n med komma ved hjelp av H, x, p

H, x og p har blitt forklart i tidligere eksempler. Det første søke- og erstatningsuttrykket erstatter hvert \ n med komma, og det andre søke- og erstatningsuttrykket erstatter et komma i begynnelsen av en linje med et mellomrom.

$ cat klienter.tekst
$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' Klienter.tekst

Følgende utdata blir produsert etter å ha kjørt kommandoene ovenfor.

Eksempel 6: Erstatt \ n med komma med N og 'cat'

Kommandoen 'cat' brukes her for å sende innholdet av filen til 'sed' -kommandoen, og N brukes til å gå til neste linje.

$ cat klienter.tekst
$ cat klienter.txt | sed 'N; s / \ n /, /'

Følgende utdata blir 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, som H, N, h og x, kan brukes med kommandoen 'sed' for å fullføre denne oppgaven. Denne opplæringen går over flere måter å bruke kommandoen 'sed' for å erstatte \ n med et komma.

Mus Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Xdotool er et gratis og åpen kildekode kommandolinjeverktøy for å simulere museklikk og tastetrykk. Denne artikkelen vil dekke en kort guide om bruk a...
Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...