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"