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ó mycommand
solo para el primer argumento. ¿Cómo puedo ejecutarlo para cada argumento?
Respuestas:
Simplemente puedes usar
xargs
-n1
significa un argumento para mycommand, pero es solo una ejecución en seco, mostrará lo que se ejecutará, para ejecutarlo eliminarecho
Para un argumento constante
fuente
xsel | xargs -n1 echo mycommand -more-arg
xsel | xargs -n2 echo mycommand
dos 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
-noexecute
bandera después de haber visto cómo funciona.Si funciona para usted, puede soltarlo
sh
completamente y hacer esto en su lugar:O más rápido:
De cualquier manera es fácil y lo hará.
fuente