Como fazer o loop de uma execução de script com o parâmetro a partir de um arquivo de texto?

0

Eu preciso executar a palavra-chave ./pythonScript uma vez para cada palavra-chave em um arquivo de texto, como posso fazer isso a partir de um terminal do gnome? (sem ter que modificar o pythonScript)

pseudo código:

for each keyword in file:
  ./pythonScript keyword
  waitfor(pythonScript to finish)
    
por ldabl 14.08.2010 / 22:54

3 respostas

1

Supondo que haja uma palavra-chave por linha, veja uma solução portátil e simples:

while read -r line; do
    ./pythonScript "$line"
done <file

Aqui está uma solução Linux um pouco mais simples:

<file xargs -d '\n' -n 1 ./pythonScript

Ambas as soluções permitem que qualquer caractere diferente de nova linha apareça em uma palavra-chave.

    
por 14.08.2010 / 23:22
0

Existe uma palavra-chave por linha do arquivo? Se sim,

while read keyword
do
    ./pythonScript $keyword
done < file
    
por 14.08.2010 / 22:59
0

Se você tem o GNU Parallel http: // www.gnu.org/software/parallel/ instalado, você pode fazer isso:

cat file | parallel ./pythonScript

Isso executará as tarefas em paralelo pode ser muito útil se você executar em uma máquina multicore.

Assista ao vídeo de introdução do GNU Parallel para saber mais: link

    
por 22.08.2010 / 21:56