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

Wie verkettet man mehrere Ausgabezeilen zu einer Zeile?

Weiterleitung der Ausgabe an xargs verkettet jede Ausgabezeile zu einer einzelnen Zeile mit Leerzeichen:

grep pattern file | xargs

Oder irgendein Befehl, z. ls | xargs . Das Standardlimit von xargs Die Ausgabe beträgt ~4096 Zeichen, kann aber mit zB erhöht werden. xargs -s 8192 .

grep xargs


Verwenden Sie tr '\n' ' ' um alle Newline-Zeichen in Leerzeichen zu übersetzen:

$ grep pattern file | tr '\n' ' '

Hinweis:grep liest Dateien, cat verkettet Dateien. Nicht cat file | grep !

Bearbeiten:

tr kann nur einzelne Zeichenübersetzungen verarbeiten. Sie könnten awk verwenden um das Ausgabedatensatztrennzeichen zu ändern, wie:

$ grep pattern file | awk '{print}' ORS='" '

Dies würde transformieren:

one
two 
three

zu:

one" two" three" 

Linux
  1. Wie starte ich Multithread-Grep im Terminal?

  2. Wie fügt man mehrere Zeilen an eine Datei an?

  3. Wie finde ich mehrere Zeichenfolgen in Dateien?

  4. Wie man mit der Farbausgabe umgeht

  5. Mehrere Zeilen in eine durch Komma getrennte Zeile umwandeln

So löschen Sie eine Zeile in Vim unter Linux

So kommentieren Sie mehrere Zeilen gleichzeitig im Vim-Editor aus

So verbinden Sie mehrere Zeilen in einer Datei in Linux zu einer

So löschen Sie mehrere Zeilen in Vim

Wie bearbeite ich vorherige Zeilen in einem mehrzeiligen Befehl in Bash?

So grep ps-Ausgabe mit Headern