Um caminho:
for i in *.txt
do
while read line
do
python -c "$line"
done < $i
done
Eu tenho um script python de thread único que é usado assim:
python -c "arg"
Eu também tenho um arquivo * .txt com muitos arg
, cada um em uma única linha no respectivo * .txt. Um arquivo de texto, digamos 1.txt
, tem a seguinte aparência:
arg1
arg2
arg3
arg4
Agora, quero executar o script python com todos esses argumentos, um por um, pois o script não permite mais de um argumento.
Como posso processar esses argumentos no modo batch usando a linha de comando?
Um caminho:
for i in *.txt
do
while read line
do
python -c "$line"
done < $i
done
Uma solução muito fácil,
cat 1.txt | xargs -I{} python -c "{}"
Explicação: cat
imprime todas as linhas e xargs
certifica-se de que cada linha é usada como argumento.
Edit: o -I{}
significa que {}
deve ser substituído pelo argumento.