sed

Sådan udskiftes ny linje med komma ved hjælp af kommandoen 'sed'

Sådan udskiftes ny linje med komma ved hjælp af kommandoen 'sed'

Ethvert tegn eller streng kan erstattes ved hjælp af kommandoen 'sed'. Nogle gange er vi nødt til at erstatte det nye linjetegn (\ n) i en fil med et komma. I denne artikel bruger vi kommandoen 'sed' til at erstatte \ n med et komma.

Brug 'sed' til at erstatte \ n med et komma

Mange problemer kan opstå, når \ n erstattes med et komma. Som standard slutter hver linje med \ n når du opretter en fil. Kommandoen 'sed' kan let deles på \ n og erstatte den nye linje med ethvert tegn. En anden afgrænser kan bruges i stedet for \ n, men kun når GNU sed bruges. Når \ n mangler i den sidste linje i filen, kan GNU sed undgå udskrivning \ n. Desuden tilføjes \ n normalt til hver på hinanden følgende output af 'sed'.

Opret en fil

I denne artikel viser vi dig, hvordan du bruger kommandoen 'sed' til at erstatte \ n med et komma. For at følge med i denne vejledning skal du oprette en tekstfil med navnet Kunder.txt med følgende tabeloplysninger om klienter.

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

Eksempel 1: Erstat \ n med et komma ved hjælp af -z

Indstillingen -z bruges til at konvertere \ n til nulltegnet (\ 0). Indholdet af filen behandles som en enkelt linje, hvis den ikke indeholder nogen nul tegn. Kommandoen 'sed' konverterer den nye linje til null-tegnet og erstatter hver \ n med et komma ved hjælp af det første søge- og erstatningsmønster. Her bruges 'g' til globalt at søge efter \ n. Med det andet mønster for søgning og erstatning erstattes det sidste komma med \ n.

$ cat klienter.txt
$ sed -z 's / \ n /, / g; s /, $ / \ n /' Kunder.txt

Følgende output produceres efter kørsel af kommandoerne.

Eksempel 2: Erstat \ n med et komma ved hjælp af a, b, $! og N

Kommandoen 'sed' kan bruges til at erstatte \ n med et komma ved hjælp af a, b, N og $!. Her, -en bruges til at tilføje opgaver, b bruges til at forgrene indholdet, N bruges til at gå til næste linje, og $! bruges til at forhindre, at udskiftningsopgaven anvendes på den sidste linje. Kommandoen erstatter hver \ n med komma undtagen den sidste linje.

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

Følgende output produceres efter kørsel af kommandoerne.

Eksempel 3: Erstat \ n med et komma ved hjælp af H, h, d, x og y

Hvis du vil udskifte det \ n) med et komma i en lille fil, kan følgende 'sed' kommando bruges. Her, H bruges til at føje den sidste linje til holdteksten, 1h bruges til at kopiere hver linje i filen til holdteksten fra den første linje, $!d bruges til at slette alle linjer undtagen den sidste linje, x bruges til at udveksle tilbageholdelsesteksten og mønsterområdet, og y bruges til at udskifte hver \ n i holdteksten med komma.

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

Følgende output produceres efter kørsel af kommandoerne.

Eksempel 4: Erstat \ n med et komma ved hjælp af -n, H, h, g og p

Kommandoen 'sed' kan bruges til at erstatte \ n med komma med -n valgmulighed, som forhindrer automatisk udskrivning. Som i det foregående eksempel, H bruges her til at føje den sidste linje til holdteksten, 1 time bruges til at kopiere hver linje i filen til tilbageholdelsesteksten, $ henviser til den sidste linje i filen, g bruges til at kopiere fra tilbageholdelsesteksten, og s bruges til at udskrive.

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

Følgende output produceres efter kørsel af ovenstående kommandoer.

Eksempel 5: Erstat \ n med et komma ved hjælp af H, x, s

H, x og p er forklaret i tidligere eksempler. Det første søg og udskift udtryk erstatter hvert \ n med et komma, og det andet søge- og erstatningsudtryk erstatter et komma i begyndelsen af ​​en linje med et mellemrum.

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

Følgende output produceres efter kørsel af ovenstående kommandoer.

Eksempel 6: Erstat \ n med et komma ved hjælp af N og 'cat'

Kommandoen 'cat' bruges her til at sende indholdet af filen til kommandoen 'sed' og N bruges til at gå til næste linje.

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

Følgende output produceres efter kørsel af ovenstående kommandoer.

Konklusion

Det kan være nødvendigt at erstatte \ n med et komma for at overføre data fra et filformat til et andet. Denne type udskiftning kan også udføres ved hjælp af andre Linux-kommandoer. Mange kommandomuligheder, såsom H, N, h og x, kan bruges med kommandoen 'sed' til at fuldføre denne opgave. Denne tutorial går over flere måder at bruge kommandoen 'sed' til at erstatte \ n med et komma.

Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...
Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...