sed

So ersetzen Sie Newline mit Komma mit dem Befehl 'sed'

So ersetzen Sie Newline mit Komma mit dem Befehl 'sed'

Jedes Zeichen oder jede Zeichenfolge kann mit dem Befehl 'sed' ersetzt werden. Manchmal müssen wir das Zeilenumbruchzeichen (\n) in einer Datei durch ein Komma ersetzen. In diesem Artikel verwenden wir den Befehl 'sed', um \n durch ein Komma zu ersetzen.

'sed' verwenden, um \n durch ein Komma zu ersetzen

Viele Probleme können auftreten, wenn \n durch ein Komma ersetzt wird. Standardmäßig endet jede Zeile mit \n beim Erstellen einer Datei. Der 'sed'-Befehl kann einfach auf \n aufgeteilt und den Zeilenumbruch durch ein beliebiges Zeichen ersetzt werden. Anstelle von \n kann ein anderes Trennzeichen verwendet werden, jedoch nur, wenn GNU sed verwendet wird. Wenn das \n in der letzten Zeile der Datei fehlt, kann GNU sed das Drucken von \n . vermeiden. Außerdem wird \n normalerweise zu jeder aufeinanderfolgenden Ausgabe von 'sed' hinzugefügt.

Erstellen Sie eine Datei

In diesem Artikel zeigen wir Ihnen, wie Sie mit dem Befehl 'sed' \n durch ein Komma ersetzen. Um diesem Tutorial zu folgen, erstellen Sie eine Textdatei mit dem Namen Kunden.TXT mit den folgenden tabellarischen Kundeninformationen.

ICH WÜRDE Name Email Telefon
c01 Md. Rakib [E-Mail geschützt] 01856233238
c02 Meher Afroze [E-Mail geschützt] 01733536342
c03 Fakrul Ahsan [E-Mail geschützt] 01934737248
c04 Helal Uddin [E-Mail geschützt] 01534895898
c05 Nusrat Jahan [E-Mail geschützt] 01866345254

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

Die Option -z wird verwendet, um \n in das Nullzeichen (\0) zu konvertieren. Der Inhalt der Datei wird als einzelne Zeile behandelt, wenn er keine Nullzeichen enthält. Der Befehl 'sed' wandelt den Zeilenumbruch in das Nullzeichen um und ersetzt jedes \n durch ein Komma, indem das erste Such- und Ersetzungsmuster verwendet wird. Hier wird 'g' verwendet, um global nach \n . zu suchen. Beim zweiten Such- und Ersetzungsmuster wird das letzte Komma durch \n . ersetzt.

$ cat Kunden.TXT
$ sed -z 's/\n/,/g;s/,$/\n/' Clients.TXT

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

Beispiel 2: Ersetzen Sie \n durch ein Komma mit a, b, $! und N

Der Befehl 'sed' kann verwendet werden, um \n durch ein Komma zu ersetzen, indem Sie verwenden a, b, N und $!. Hier, ein dient zum Anhängen von Aufgaben, b wird verwendet, um den Inhalt zu verzweigen, Nein wird verwendet, um in die nächste Zeile zu gehen, und $! wird verwendet, um zu verhindern, dass die Ersetzungsaufgabe auf die letzte Zeile angewendet wird. Der Befehl ersetzt jedes \n mit einem Komma außer der letzten Zeile.

$ cat Kunden.TXT
$ sed ':a;N;$!ba;s/\n/,/g' Kunden.TXT

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

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, dann kann der folgende 'sed'-Befehl verwendet werden. Hier, H wird verwendet, um die letzte Zeile an den Haltetext anzuhängen, 1h wird verwendet, um jede Zeile der Datei ab 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 Haltetext und den Musterraum auszutauschen, und ja wird verwendet, um jedes zu ersetzen \n im Bestandstext mit Komma.

$ cat Kunden.TXT
$ sed 'H;1h;$!d;x;y/\n/,/' Kunden.TXT

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

Beispiel 4: Ersetzen Sie \n durch ein Komma mit -n ,H, h, g und p

Der Befehl 'sed' kann verwendet werden, um zu ersetzen \n mit einem Komma mit -nein Option, die das automatische Drucken verhindert. Wie im vorherigen Beispiel, H wird hier verwendet, um die letzte Zeile an den Haltetext 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 Bestandstext 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 erzeugt, 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. Der erste Such- und Ersetzungsausdruck ersetzt jeden \n mit einem Komma, und der zweite Such- und Ersetzungsausdruck ersetzt ein Komma am Anfang einer Zeile durch ein Leerzeichen.

$ cat Kunden.TXT
$ sed -n  'H;$x;s/\n/,/g;s/^,//;p;' Clients.TXT

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

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

Der Befehl 'cat' wird hier verwendet, um den Inhalt der Datei an den Befehl 'sed' zu senden, und Nein wird verwendet, um zur nächsten Zeile zu wechseln.

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

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

Fazit

Es kann erforderlich sein, \n durch ein Komma zu ersetzen, um Daten von einem Dateiformat in ein anderes zu übertragen. Diese Art des Ersetzens kann auch mit anderen Linux-Befehlen erfolgen. Viele Befehlsoptionen wie H, N, h und x können mit dem Befehl 'sed' verwendet werden, um diese Aufgabe auszuführen. In diesem Tutorial werden verschiedene Möglichkeiten beschrieben, um den Befehl 'sed' zu verwenden, um \n durch ein Komma zu ersetzen.

So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...
Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...