(GNU?) 병렬이 자동으로 실패하는 이유는 무엇이며 어떻게 수정합니까? for each argument, run

일부 시뮬레이션 데이터를 사후 처리하는 더 큰 스크립트에서 다음 줄을 가졌습니다.

parallel bnzip2 -- *.bz2

내가 parallel올바르게 이해 하고 (아니면 그렇지 않을 수도 있음), 나열된 확장자를 가진 모든 파일에 대해 프로그램의 n 코어 스레드를 실행해야합니다. 내가 명령의 철자를 잘못 알 수 있습니다 bunzip2. 여기에 경고 또는 오류 메시지가 표시되지만 자동으로 실패합니다. 이것이 의도 된 것입니까? 앞으로이 문제에 어떻게 대처하지 않습니까?

최신 정보:

parallel내가 생각 하는 것과 다른 설치 가 가능할 수 있습니다 .

> parallel --version`


parallel: invalid option -- '-'
parallel [OPTIONS] command -- arguments
    for each argument, run command with argument, in parallel
parallel [OPTIONS] -- commands
    run specified commands in parallel

parallel내 시스템 의 맨 페이지는 다음 을 제공합니다.

 parallel(1)                                                        parallel(1)
NAME
       parallel - run programs in parallel
....
AUTHOR
   Tollef Fog Heen

이것은 GNU 버전 이 아닌 것 같습니다 .



답변

moreutils의 Tollef와의 혼동에 맞았습니다. 참조 https://www.gnu.org/software/parallel/history.html를

다음과 같이 GNU Parallel을 간단하게 설치할 수 있습니다.

wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem

자세한 내용은 GNU Parallel 소개 비디오를 참조하십시오 .
https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1


답변

(이 의견을 말하지만 권한이 없습니다.)

아마 그냥 사용할 수도 있습니다 parallel --gnu. 우분투 12 (.04?)는 Tollef의 버전을 사용한다고 말했지만 실제로는 gnu 구현이며 어떤 이유로 든 기본적으로 Tollef의 구문으로 기본 설정됩니다.

alias parallel='parallel --gnu'로그인 스크립트에 추가 했으므로 더 이상 혼란 스러울 필요가 없습니다.


답변