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