GNU/Linux >> Tutoriales Linux >  >> Linux

¿Pasar múltiples parámetros a través de Xargs?

Me gustaría poder usar xargs para ejecutar múltiples parámetros en diferentes partes de un comando.

Por ejemplo, lo siguiente:

echo {1..8} | xargs -n2 | xargs -I v1 -I v2 echo the number v1 comes before v2

Espero que vuelva

the number 1 comes before 2
the number 3 comes before 4 

... etc.

¿Es esto alcanzable? Sospecho que mi uso múltiple de -I es incorrecto.

Respuesta aceptada:

Creo que no puedes usar -I de esa manera.
Pero puede obtener el efecto / comportamiento que desee diciendo:

echo {1..8} | xargs -n2 sh -c 'echo "the number $1 comes before $2"' sh

Esto, esencialmente, crea un ad hoc script de shell de una línea,
que xargs se ejecuta a través de sh -c .
Los dos valores que xargs los análisis de la entrada
se pasan a este "script".
El shell luego asigna esos valores a $1 y $2 ,
al que luego puede hacer referencia en el "script".


Linux
  1. ¿Argumentos múltiples en Shebang?

  2. Bash -c con parámetros posicionales?

  3. ¿Enviar un fax a través de SIP?

  4. Dd:¿Múltiples archivos de entrada?

  5. Ejemplos de comandos xargs en Linux

Comando Xargs en Linux

Comparta archivos entre varios dispositivos usando Snapdrop a través del navegador web

Ejemplos de comandos xargs de Linux

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

pasando variables de 'ls' a 'tar' a través de 'xargs'

Cola múltiples archivos remotos