¿Por qué falla paralela (GNU?) En silencio y cómo lo soluciono?

15

En un script más grande para procesar posteriormente algunos datos de simulación, tuve la siguiente línea:

parallel bnzip2 -- *.bz2

Lo cual, si entiendo parallelcorrectamente (y puede que no), debería ejecutar subprocesos n-core del programa sobre todos los archivos con la extensión enumerada. Puede notar que escribí mal el comando bunzip2. Esperaría un mensaje de advertencia o error aquí, pero falla en silencio. ¿Es esto intencionado? ¿Cómo no me mordió esto en el futuro?

Actualizar:

Es posible que tenga una parallelinstalación diferente de la que creo que tengo:

> 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

Una página de manual de parallelmi sistema da:

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

Lo que parece que esta no es la versión de GNU.

Enganchado
fuente
Imprime un error en mi sistema. Que parallel --versiondice $ parallel bnzip2 -- * sh: bnzip2: command not found
Mikel
El paralelo de GNU es "Copyright (C) 2010,2011,2012 Ole Tange, ole.tange.dk y Free Software Foundation, Inc." (Mismo autor desde el inicio.)
Mat

Respuestas:

20

Te ha golpeado la confusión con el paralelo de Tollef de moreutils. Ver https://www.gnu.org/software/parallel/history.html

Puede instalar GNU Parallel simplemente por:

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

Mire los videos de introducción de GNU Parallel para obtener más información: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Ole Tange
fuente
1
¡Todo tiene sentido ahora! Para el registro, en Ubuntu 12 ahora mismo apt-get install parallelextrae el paralelo de Tollef, no su versión GNU. Gracias por informarme.
Enganchado el
1
Para Ubuntu 12, consulte ¿Dónde obtengo un paquete para GNU Parallel?
Ian
12

(Haría de esto un comentario, pero me faltan los privilegios).

Probablemente también puedas usarlo parallel --gnu. Dijiste que Ubuntu 12 (.04?) Usa la versión de Tollef, pero en realidad es la implementación de GNU, solo por defecto es la sintaxis de Tollef por alguna razón.

Agregué alias parallel='parallel --gnu'a mi script de inicio de sesión para no tener que preocuparme más por él.

billyjmc
fuente
2
También puede agregar --gnua $ HOME / .parallel / config.
Thor
Nota: La respuesta aquí es abordar un comentario de @Hooked.
nobar
Vea aquí otro enfoque y un poco más de detalles sobre las versiones: askubuntu.com/a/298598/11522 .
nobar
1
Fedora también pone frustrantemente --tollef en / etc / parallel / config . Como si eso no fuera lo suficientemente desagradable, el mismo paralelo de GNU informa que --tollef se eliminará en 20140222 .
musicinmybrain