Estou no Ubuntu. Copiei alguns argumentos (separados por nova linha) e posso usar o xsel para imprimi-los assim
$ xsel
arg1
arg2
arg3
arg4
...
Agora, quero usar cada um desses argumentos para outro comando e executá-lo quantas vezes houver argumentos.
Então eu tentei
$ xsel | mycommand "constantArgument" $1
No entanto, isso foi executado mycommand
apenas para o primeiro argumento. Como posso executá-lo para todos os argumentos?
Respostas:
Você pode simplesmente usar
xargs
-n1
significa um argumento para o meu comando, mas é apenas execução a seco, mostra o que será executado, removeecho
Para argumento constante
fonte
xsel | xargs -n1 echo mycommand -more-arg
xsel | xargs -n2 echo mycommand
dois argumentos por comandoOu algo parecido. Você também pode usar
xargs
, que é um comando muito poderoso para manipulação de argumentos de linha de comando.fonte
Para um pouco de personalização:
Você pode remover a
-noexecute
bandeira depois de ver como ela funciona.Se funcionar para você, você pode eliminar
sh
completamente e fazer o seguinte:Ou mais rápido:
De qualquer maneira, é fácil e o fará.
fonte