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.