Estoy en Ubuntu Copié algunos argumentos (separados por nueva línea) y puedo usar xsel para imprimirlos así
$ xsel
arg1
arg2
arg3
arg4
...
Ahora, quiero usar cada uno de estos argumentos para otro comando y ejecutar ese comando tantas veces como haya argumentos.
Así que lo intenté
$ xsel | mycommand "constantArgument" $1
Sin embargo, esto se ejecutó mycommandsolo para el primer argumento. ¿Cómo puedo ejecutarlo para cada argumento?

Respuestas:
Simplemente puedes usar
xargs-n1significa un argumento para mycommand, pero es solo una ejecución en seco, mostrará lo que se ejecutará, para ejecutarlo eliminarechoPara un argumento constante
fuente
xsel | xargs -n1 echo mycommand -more-argxsel | xargs -n2 echo mycommanddos argumentos por comandoO algo similar. También puede usar
xargs, que es un comando muy poderoso para la manipulación de argumentos de línea de comando.fuente
Para un poco de personalización:
Puede eliminar la
-noexecutebandera después de haber visto cómo funciona.Si funciona para usted, puede soltarlo
shcompletamente y hacer esto en su lugar:O más rápido:
De cualquier manera es fácil y lo hará.
fuente