나는 형태의 $hosts_string
라는 변수와 C 쉘 스크립트가 또한 처리해야하는 텍스트 파일을 지정하는 $inputFn
이라는 변수가 있습니다.GNU 평행
각 호스트가 $chrs_string
의 각 구성원에 doStuff
이라는 명령을 실행하고 입력 파일 이름 인수로 $inputFn
을 가져 오도록하고 싶습니다.
parallel -S $hosts_string 'doStuff {1} {2} > {1}' ::: {$chrs_string} ::: {$inputFn}
, 이것은 명령 doStuff
에서 출력으로 chrM
를 통해 파일을 chr1
을 만들어야합니다,하지만 난 아무것도 얻을 수 없다. 병렬은 오류를 발행하지 않고 완료되지만 출력은 없습니다.
parallel
을 사용하지 않으면 명령 자체가 잘 작동하므로 명령이 아니지만 parallel
에 인수를 지정하는 방법입니다. 이 작동했다 경우
parallel -S $hosts_string 'echo {1} {2} > {1}' ::: {$chrs_string} ::: {$inputFn}
및 $inputFn
이 /foo/bar
(예를 들어), 나는 (예를 들어) 얻을 것입니다 파일이 chr1
전화 :
은이를 확인하기 위해, 나는 다음과 같은 시도 이 $chrs_string
및의 각 조합을 통해 루프 있도록
chr1 /foo/bar
가 어떻게 내 parallel
명령을 조정 않습니다 : 문자열을 포함하는올바르게?
: 당신은 당신이 간단하게 할 에코의 파일 이름을 원하는 경우에 당신은 잊었 ::: ::::
와 동일하지 않습니다. 간단히''echo {1} {2} ''는'$ inputFn'의 텍스트 내용을 보여 주며, 그 파일의 경로명은 아닙니다. 이것은 올바른 동작이 아닙니다. –
그러면 내가 원하는 것이 무엇인지 불분명합니다. 더 많은 아이디어를 얻기 위해 내 대답을 편집했습니다. 그 질문에 대한 답변을하지 않는 경우, '병렬 버전'의 출력, 입력 및 예상 출력을 게시하십시오. –
및 실행할 명령. –