Sådan udskiftes Newline med komma ved hjælp af kommandoen `sed`

How Replace Newline With Comma Using Sed Command



Enhver karakter eller streng kan erstattes ved hjælp af kommandoen 'sed'. Nogle gange er vi nødt til at erstatte nylinjetegnet ( 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 opdeles på n og erstatte den nye linje med et hvilket som helst 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å at udskrive n. Desuden tilføjes normalt n 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 denne vejledning skal du oprette en tekstfil med navnet Klienter.txt med følgende tabelklientoplysninger.



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). Filens indhold behandles som en enkelt linje, hvis den ikke indeholder null -tegn. Kommandoen `sed` konverterer den nye linje til nultegnet 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 søge- og erstatningsmønster erstattes det sidste komma med n.



$katKlienter.txt

$sed -Med 's/ n/,/g; s/, $/ n/'Klienter.txt

Følgende output produceres efter at have kørt 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, til bruges til at tilføje opgaver, b bruges til at forgrene indholdet, N bruges til at gå til den næste linje, og $! bruges til at forhindre udskiftningsopgaven i at blive anvendt på den sidste linje. Kommandoen erstatter hver n med komma undtagen sidste linje.



$katKlienter.txt

$sed ': a; N; $! ba; s/ n/,/g'Klienter.txt

Følgende output produceres efter at have kørt kommandoerne.

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

Hvis du vil udskifte n) med et komma i en lille fil, kan følgende `sed` kommando bruges. Her, H bruges til at tilføje den sidste linje til beholdningsteksten, 1h bruges til at kopiere hver linje i filen til beholdningsteksten fra den første linje, $! d bruges til at slette alle linjer undtagen den sidste linje, x bruges til at udveksle beholdningstekst og mønsterrum, og og bruges til at erstatte hver n i holdeteksten med et komma.

$katKlienter.txt

$sed 'H; 1h; $! D; x; y/ n/,/'Klienter.txt

Følgende output produceres efter at have kørt 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 mulighed, hvilket forhindrer automatisk udskrivning. Ligesom i det foregående eksempel, H bruges her til at tilføje den sidste linje til holdeteksten, 1 time bruges til at kopiere hver linje i filen til beholdningsteksten, $ refererer til den sidste linje i filen, g bruges til at kopiere fra beholdningsteksten og s. s bruges til at udskrive.

$katKlienter.txt

$sed-n'H; 1h; ${g; s / n/,/g; p} 'Klienter.txt

Følgende output vil blive produceret efter at have kørt ovenstående kommandoer.

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

H, x og s er blevet forklaret i tidligere eksempler. Det første søg og erstat udtryk erstatter hvert n med et komma, og det andet søg og erstat udtryk erstatter et komma i begyndelsen af ​​en linje med et mellemrum.

$katKlienter.txt

$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Klienter.txt

Følgende output vil blive produceret efter at have kørt ovenstående kommandoer.

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

Kommandoen `kat` bruges her til at sende filens indhold til kommandoen` sed` og N bruges til at gå til den næste linje.

$katKlienter.txt

$katKlienter.txt| sed 'N; s/ n/,/'

Følgende output vil blive produceret efter at have kørt 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 vejledning går over flere måder at bruge kommandoen `sed` til at erstatte n med et komma.