GNU 병렬: 파이프된 표준 입력을 파일인 것처럼 리디렉션합니다.

GNU 병렬: 파이프된 표준 입력을 파일인 것처럼 리디렉션합니다.

병렬화하려는 다음 명령이 있다고 가정해 보겠습니다.

my_command --file <(my | pipeline)

이제 특정 청크에서 병렬화하고 싶습니다.

my | pipeline | parallel --spreadstdin my_command --file <(parallel's stdin)

Gnu 병렬을 사용하여 이 리디렉션을 어떻게 수행합니까?

답변1

내가 올바르게 이해했다면 parallel --spreadstdin입력 블록은 실행 중인 프로세스의 표준 입력으로 전송되므로 읽고 싶은 것은 my_commandParallel의 표준 입력이 아니라 자체 표준 입력입니다.

my_command기본적으로 stdin을 읽지 않는 경우 일반적으로 /dev/stdin"원시" stdin과 동일한 파일/파이프로 확인되는 파일 이름을 대신 사용할 수 있습니다.

그래서

my | pipeline | parallel --spreadstdin my_command --file /dev/stdin

그것은 당신이 원하는 것이어야합니다.

관련 정보