如何使用文本文件中的参数循环执行脚本?

如何使用文本文件中的参数循环执行脚本?

我需要对文本文件中的每个关键字运行一次 ./pythonScript keyword,如何从 gnome 终端执行此操作?(无需修改 pythonScript)

伪代码:

for each keyword in file:
  ./pythonScript keyword
  waitfor(pythonScript to finish)

答案1

假设每行有一个关键字,这是一个纯 shell、可移植的解决方案:

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

这是一个稍微简单一点的 Linux 解决方案:

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

这两种解决方案都允许除换行符之外的任何字符出现在关键字中。

答案2

文件中每行是否有一个关键字?如果有,

while read keyword
do
    ./pythonScript $keyword
done < file

答案3

如果您安装了 GNU Parallel http://www.gnu.org/software/parallel/,您可以执行以下操作:

cat file | parallel ./pythonScript

如果您在多核机器上运行,这将并行运行作业非常有用。

观看 GNU Parallel 的介绍视频以了解更多信息: http://www.youtube.com/watch?v=OpaiGYxkSuQ

相关内容