매개변수가 없는 GNU 병렬 스크립트

매개변수가 없는 GNU 병렬 스크립트

나는 4개의 코어와 4개의 Python 스크립트 파일을 가지고 있습니다 preprocess0.py. GNU를 사용하여 이 4 개의 프로세스를 병렬로 preprocess1.py실행 하고 싶습니다 . 입력 파일이 없습니다. 입력 파일은 각 파일 내에 하드코딩되어 있습니다(읽기 전용이므로 중요하지 않음). 결과를 ... 파일 로 출력하고 싶습니다 . 내가 아는 한:preprocess2.pypreprocess3.pyparallel*.pyfile0.csvfile3.csv

parallel -j4 --progress python preprocess*.py ::: '>' ./file{}.csv

하지만 마치 입력을 기다리는 것처럼 아무 것도 쓰지 않고 그대로 앉아 있습니다.

답변1

구문은 다음과 같습니다.

parallel -j4 --progress 'python {} > ./file{}.csv' ::: preprocess*.py

filepreprocess1.py.csv그러면 ...이라는 파일이 생성됩니다 .

parallel -j4 --progress 'python {} > ./file{#}.csv' ::: preprocess*.py

file1.csv작업 번호를 사용하고 일부 ... 파일을 얻는 대신 . 또는 파일 이름 번호를 추출하려면 다음을 수행하십시오.

parallel -j4 --progress 'python {} > ./file{=s/[^\d]//g=}.csv' ::: preprocess*.py

관련 정보