GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Backslash + Newline-Sequenzen entfernen?

Für diese Frage gibt es hier bereits Antworten :Wie können Sie alle Zeilen kombinieren, die mit einem Backslash-Zeichen enden?

(9 Antworten)
Vor 2 Jahren geschlossen.

Wir haben eine Datei in Linux, die eine Zeile pro Datensatz enthält, aber das Problem tritt auf, wenn die Zeile einige neue Zeilenzeichen enthält. In diesem Fall wird der Backslash am Zeilenende angehängt und der Datensatz in mehrere Zeilen aufgeteilt. Also unten ist mein Problem:

"abc def xyz pqr"

sollte sein:

"abc def xyz pqr"

Ich habe versucht sed -I 's/\n/ /g' <file_name> was nicht funktioniert. Ich habe auch den tr ausprobiert Befehl, aber es ersetzt nur ein Zeichen, nicht die Zeichenfolge. Können Sie bitte einen Befehl vorschlagen, um dieses Problem zu lösen.

Akzeptierte Antwort:

Sie sollten in der Lage sein,

zu verwenden
sed -e :a -e '/\$/N; s/\n//; ta'

Siehe Peter Krumins’ Famous Sed One-Liners Explained, Part I, 39. Hängen Sie eine Zeile an die nächste an, wenn sie mit einem Backslash „“ endet .


Linux
  1. Sed Zeichen aus neuer Zeile entfernen?

  2. Wie entferne ich eine einzelne Zeile aus dem Verlauf?

  3. Zeile entfernen, die bestimmte Zeichenfolge und die folgende Zeile enthält?

  4. So entfernen Sie Dateien und Verzeichnisse in der Linux-Befehlszeile [Anfänger-Tutorial]

  5. Entfernen Sie Android SDK-Pakete von der Befehlszeile

So kommentieren Sie in Bash

So entfernen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile

Diff-Befehl unter Linux

So deinstallieren Sie Anwendungen vollständig über die Befehlszeile in Ubuntu

Verzeichnis in Linux entfernen – So löschen Sie einen Ordner von der Befehlszeile aus

So entfernen Sie Zeilen aus einer Datei mit dem Sed-Befehl