GNU/Linux >> Linux Esercitazione >  >> Linux

Come concatenare più righe di output in una riga?

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" 

Linux
  1. Come eseguire il grep con l'output a colori

  2. Come posso elencare un nome file per riga di output in Linux?

  3. Trasformare più righe in una riga separata da virgole

  4. Come reindirizzare l'output da grep a cp?

  5. Come passare l'output del comando come più argomenti a un altro comando

Come eliminare la riga in Vim su Linux

Come commentare più righe contemporaneamente in Vim Editor

Come unire più righe in una in un file in Linux

Come trovare più stringhe nei file??

Come eliminare più righe in Vim

Come posso modificare le righe precedenti in un comando a più righe in Bash?