So ersetzen Sie Newline durch das Komma mit dem Befehl SED

So ersetzen Sie Newline durch das Komma mit dem Befehl SED

Jedes Zeichen oder eine Zeichenfolge kann durch den Befehl "SED" ersetzt werden. Manchmal müssen wir das Newline -Zeichen (\ n) in einer Datei durch ein Komma ersetzen. In diesem Artikel verwenden wir den Befehl "SED", um \ n durch ein Komma zu ersetzen.

Verwenden Sie 'sed', um \ n durch ein Komma zu ersetzen

Viele Probleme können beim Ersetzen von \ n durch ein Komma auftreten. Standardmäßig endet jede Zeile mit \ n beim Erstellen einer Datei. Der Befehl 'SED' kann leicht auf \ n aufteilen und die Neue Zeile durch einen beliebigen Charakter ersetzen. Ein weiterer Trennzeichen kann anstelle von \ n verwendet werden, jedoch nur, wenn Gnu sed verwendet wird. Wenn das \ n in der letzten Zeile der Datei fehlt, kann Gnu sed vermeiden, \ n zu drucken. Darüber hinaus wird \ n normalerweise zu jedem aufeinanderfolgenden Ausgang von "SED" hinzugefügt.

Eine Datei erstellen

In diesem Artikel zeigen wir Ihnen, wie Sie den Befehl "SED" verwenden, um \ n durch ein Komma zu ersetzen. Um diesem Tutorial zu folgen, erstellen Sie eine Textdatei mit dem Namen Kunden.txt Mit den folgenden tabellarischen Clientinformationen.

AUSWEIS Name Email 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

Beispiel 1: Ersetzen Sie \ n durch ein Komma mit -z

Die Option -Z wird verwendet, um \ n in das Nullzeichen (\ 0) umzuwandeln. Der Inhalt der Datei wird als einzelne Zeile behandelt, wenn sie keine Nullzeichen enthalten. Der Befehl 'SED' wandelt die Neue Zeile in das Nullzeichen um und ersetzt jedes \ n durch ein Komma durch die erste Suche und ersetzt Muster. Hier ist 'G' gewohnt, global nach \ n zu suchen. Mit der zweiten Suche und Ersatzmuster wird das letzte Komma durch \ n ersetzt.

$ CAT -Kunden.txt
$ sed -z 's/\ n/,/g; s/, $/\ n/' Clients.txt

Nach dem Ausführen der Befehle wird die folgende Ausgabe erzeugt.

Beispiel 2: Ersetzen Sie \ n durch ein Komma mit A, B, $! und n

Der Befehl "SED" kann verwendet werden, um \ n durch ein Komma durch Verwendung zu ersetzen a, b, n und $!. Hier, A wird verwendet, um Aufgaben anzuhängen, B wird verwendet, um den Inhalt zu verzweigen, N wird verwendet, um in die nächste Zeile zu gehen, und $! wird verwendet, um zu verhindern, dass die Ersatzaufgabe auf die letzte Zeile angewendet wird. Der Befehl ersetzt jeden \N mit einem Komma außer der letzten Zeile.

$ CAT -Kunden.txt
$ sed ': a; n; $!ba; s/\ n/,/g 'Clients.txt

Nach dem Ausführen der Befehle wird die folgende Ausgabe erzeugt.

Beispiel 3: Ersetzen Sie \ n durch ein Komma mit H, H, D, X und Y

Wenn Sie ersetzen möchten \N) Mit einem Komma in einer kleinen Datei kann der folgende Befehl "SED" verwendet werden. Hier, H Wird verwendet, um die letzte Zeile an den Haltetext anzuhängen. 1H wird verwendet, um jede Zeile der Datei aus der ersten Zeile in den Haltetext zu kopieren, $!D wird verwendet, um alle Zeilen außer der letzten Zeile zu löschen, X wird verwendet, um den Holding -Text und den Musterraum auszutauschen, und y wird verwendet, um jeden zu ersetzen \N im Haltetext mit einem Komma.

$ CAT -Kunden.txt
$ sed 'h; 1h; $!d; x; y/\ n/,/'Clients.txt

Nach dem Ausführen der Befehle wird die folgende Ausgabe erzeugt.

Beispiel 4: Ersetzen Sie \ n durch ein Komma mit -N, H, H, G und P

Der Befehl "SED" kann zum Ersetzen verwendet werden \N mit einem Komma mit -N Option, die den automatischen Druck verhindert. Wie im vorherigen Beispiel, H wird hier verwendet, um die letzte Zeile dem Holding -Text anzuhängen, 1H wird verwendet, um jede Zeile der Datei in den Haltetext zu kopieren, $ bezieht sich auf die letzte Zeile der Datei, G wird verwendet, um aus dem Haltetext zu kopieren, und P wird zum Drucken verwendet.

$ CAT -Kunden.txt
$ sed -n "h; 1h; \ $ g; s/\ n/,/g; p" Clients.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden.

Beispiel 5: Ersetzen Sie \ n durch ein Komma mit H, x, p

H, x und p wurden in früheren Beispielen erklärt. Die erste Suche und Ersetzung des Ausdrucks ersetzt jeweils \N Mit einem Komma ersetzt der zweite Such- und Ersetzungsausdruck ein Komma zu Beginn einer Linie durch einen Raum.

$ CAT -Kunden.txt
$ sed -n 'h; $ x; s/\ n/,/g; s/^, //; p;' Clients.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden.

Beispiel 6: Ersetzen Sie \ n durch ein Komma mit N und 'Cat' durch ein Komma

Der Befehl "Katze" wird hier verwendet, um den Inhalt der Datei an den Befehl "SED" zu senden, und N wird verwendet, um zur nächsten Zeile zu wechseln.

$ CAT -Kunden.txt
$ CAT -Kunden.txt | sed 'n; s/\ n/,/'

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden.

Abschluss

Es kann erforderlich sein, \ n durch ein Komma zu ersetzen, um Daten von einem Dateiformat auf ein anderes zu übertragen. Diese Art von Ersatz kann auch durch Verwendung anderer Linux -Befehle durchgeführt werden. Viele Befehlsoptionen wie H, N, H und X können mit dem Befehl "SED" verwendet werden, um diese Aufgabe zu erledigen. Dieses Tutorial geht auf verschiedene Möglichkeiten, um den Befehl "SED" zu verwenden, um \ n durch ein Komma zu ersetzen.