Piping output a xargs concatenerà ogni riga di output in una singola riga con spazi:
grep pattern file | xargs
O qualsiasi comando, ad es. ls | xargs . Il limite predefinito di xargs l'output è di ~ 4096 caratteri, ma può essere aumentato ad es. xargs -s 8192 .
grep xargs
Usa tr '\n' ' ' per tradurre tutti i caratteri di nuova riga in spazi:
$ grep pattern file | tr '\n' ' '
Nota:grep legge file, cat concatena i file. Non cat file | grep !
Modifica:
tr può gestire solo traduzioni di un singolo carattere. Potresti usare awk per modificare il separatore di record di output come:
$ grep pattern file | awk '{print}' ORS='" '
Questo trasformerebbe:
one
two
three
a:
one" two" three"