Como extrair o conteúdo do arquivo e passar como parâmetros de linha de comando no Linux?

0

Eu preciso executar um comando:

python test.py command --option 1 value1 value2 value3 value4 value5

(até valor 100)

Eu tenho um arquivo de texto com valores separados por espaço, como:

value1 value2 value3 value4 value5 ..

Como posso canalizar isso para o comando sem copiar e colar todo o conteúdo do arquivo no terminal?

    
por ajy 10.07.2015 / 12:53

3 respostas

4

Você pode usar o recurso de substituição do comando Bash:

python test.py command --option 1 $(<file.txt)

Em man bash :

Command substitution allows the output of a command to replace
the command name. There are two forms:

$(command)

or

'command'

Bash performs the expansion by executing command and replacing
the command substitution with the standard output of the command,
with any trailing newlines deleted. Embedded newlines are not
deleted, but they may be removed during word splitting. The
command substitution $(cat file) can be replaced by the
equivalent but faster $(< file).
    
por 10.07.2015 / 12:59
1

Aqui está outra maneira:

xargs -a file.txt python test.py command --option 1
    
por 10.07.2015 / 14:45
0

Você pode fazer:

python test.py command --option 1 'cat file.txt'
    
por 10.07.2015 / 13:01