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


15

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

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 버전 이 아닌 것 같습니다 .


시스템에 오류를 인쇄합니다. 무엇합니까 parallel --version말은? $ parallel bnzip2 -- * sh: bnzip2: command not found
Mikel

GNU 병렬은 "저작권 (C) 2010,2011,2012 Ole Tange, ole.tange.dk 및 Free Software Foundation, Inc."입니다. (처음부터 동일한 저자)
Mat

답변:


20

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


1
이제 모든 것이 의미가 있습니다! 기록을 위해 우분투 12에서 현재 apt-get install parallelGNU 버전이 아닌 Tollef의 유사점을 가져옵니다. 나를 채워 주셔서 감사합니다.
걸려


12

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

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

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


2
--gnu$ HOME / .parallel / config에 추가 할 수도 있습니다 .
Thor

참고 : 여기에 대한 답변은 @Hooked의 의견을 다루고 있습니다.
nobar

다른 접근 방식과 버전에 대한 자세한 내용은 여기를 참조하십시오 : askubuntu.com/a/298598/11522 .
nobar

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.