GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo concatenar varias líneas de salida en una sola línea?

Tubería de salida a xargs concatenará cada línea de salida en una sola línea con espacios:

grep pattern file | xargs

O cualquier comando, por ejemplo. ls | xargs . El límite predeterminado de xargs la salida es ~ 4096 caracteres, pero se puede aumentar con, por ejemplo. xargs -s 8192 .

grep xargs


Usa tr '\n' ' ' para traducir todos los caracteres de nueva línea a espacios:

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

Nota:grep lee archivos, cat concatena archivos. No cat file | grep !

Editar:

tr solo puede manejar traducciones de un solo carácter. Podrías usar awk para cambiar el separador de registro de salida como:

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

Esto transformaría:

one
two 
three

a:

one" two" three" 

Linux
  1. ¿Cómo enumero un nombre de archivo por línea de salida en Linux?

  2. Convertir varias líneas en una línea separada por comas

  3. Cómo agregar contenidos de múltiples archivos en un archivo

  4. ¿Cómo canalizar la salida de grep a cp?

  5. Cómo pasar la salida del comando como múltiples argumentos a otro comando

Cómo eliminar una línea en Vim en Linux

Cómo comentar varias líneas a la vez en Vim Editor

Cómo unir varias líneas en una en un archivo en Linux

Cómo eliminar varias líneas en Vim

¿Cómo edito líneas anteriores en un comando de varias líneas en Bash?

Cómo grep salida ps con encabezados