.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.

관련 정보