我需要对文本文件中的每个关键字运行一次 ./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