将 .txt 文件中的每一行作为参数传递给 python 脚本

将 .txt 文件中的每一行作为参数传递给 python 脚本

我在bash中有无限循环,我需要将domain.txt文件中的每一行作为参数传递给python脚本,该脚本一次只能接受一个,当它遍历domain.txt文件中的所有行时,它会移动到另一个任务。

示例(第一行和第二行):

#!/bin/bash
#!/usr/bin/env python3
while true   #foo
do                        #foo
python3 script.py -d $(sed -n '1p' < domain.txt) && python3 script.py -d $(sed -n '2p' < domain.txt)         #foo
done #foo

这种方式有效,但它根本不是最佳的,如果我将第三行添加到我的 .txt 文件中,除非我编辑 bash 脚本,否则它将被忽略 - 我计划有大约 500-1000 行

答案1

如果你的 python 脚本一次只能接受一个参数,并且你确实无法编辑和修复它,那么你将不得不执行以下操作:

while read -r line; do
    python3 script.py "$line" && python3 foobar.py
done < domain.txt

这将迭代 中的所有行domain.txt,将每一行保存为$line然后传递到您的script.py.

相关内容