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".