GNU/Linux >> Tutoriales Linux >  >> Linux

xargs sustitución de más de un argumento

No conozco un xargs opción que hará eso, pero puede lograr algo similar con una invocación de bash -c :

$ echo -e "line 1\nline    2\nline 3" | xargs bash -c 'echo "${@}" DONE' _
line 1 line 2 line 3 DONE

Tenga en cuenta que xargs no proporciona las líneas como argumentos, incluso si especifica -L . Es posible que desee utilizar -d para especificar que la nueva línea separa los elementos (creo que solo gnu xargs). Contrasta lo siguiente:

$ echo -e "line 1\nline    2\nline 3" |
  xargs bash -c 'printf "<%s>\n" "${@}" DONE' _
<line>
<1>
<line>
<2>
<line>
<3>
<DONE>

$ echo -e "line 1\nline    2\nline 3" |
  xargs -d\\n bash -c 'printf "<%s>\n" "${@}" DONE' _
<line 1>
<line    2>
<line 3>
<DONE>

Convertir líneas nuevas en \nul terminadores, luego use xargs -0

$ echo -ne 'line 1\nline 2\nline 3\n' | tr '\n' '\0' | xargs -0 -Ix echo x DONE
line 1 DONE
line 2 DONE
line 3 DONE

Linux
  1. Buscar -exec + Vs Buscar | Xargs:¿Cuál elegir?

  2. ¿Cómo dividir la terminal en más de una "vista"?

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

  4. Convertir JSON pretty print en una línea

  5. Desconcertado con un rendimiento de enlace simple, no puede obtener más de un Gig

¿Cómo decirle a Xargs qué argumento elegir?

Zorin OS 15 más hermoso y útil que nunca

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

imprimir el contenido de más de un archivo en un archivo zip

¿Cómo vincular el servidor MySQL a más de una dirección IP?

¿Puedes tener más de un archivo ~/.ssh/config?