É possível especificar o número de argumentos que xargs
leva sem fazê-lo explicitamente com a -n
opção, mas implicitamente com um delimitador, para que os parâmetros únicos sejam delimitados com um espaço, mas um grupo de argumentos que xargs usa ao mesmo tempo seria delimitado com por exemplo '\n'
?
Quero poder passar um número flexível de parâmetros para um script: Esses parâmetros são armazenados em uma lista como esta:
param1 param2
param1 param2 param3
param1
Deve ser possível passar uma linha de parâmetros por vez para o script. Não quero usar nenhum script proxy e não desejo gravar uma lista temporária de arquivos ou comando no disco. Quero ler os parâmetros do arquivo, alterá-los "on the fly" (por exemplo, remover todas as outras linhas) e redirecioná-los com xargs para o script de destino.
O que tentei é usar '\n'
como delimitador de argumento, mas todos os parâmetros de uma linha são interpretados como um argumento, mesmo que sejam delimitados com um espaço.
Respostas:
Q
UMA
Porém, existem maneiras mais fáceis de obter essa saída sem usar xargs; portanto, você pode esclarecer sua pergunta.
Atualizar
Não acho que xargs seja a resposta para sua tarefa. Eu suspeito que você estaria melhor usando algum script no lugar de xargs.
fonte
Com o GNU Parallel, você pode:
Se é aceitável que os parâmetros sejam unidos como um, você pode até fazer:
Você pode instalar o GNU Parallel simplesmente:
Assista aos vídeos de introdução do GNU Parallel para saber mais: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
fonte