parallel-processing gnu xargs gnu-parallel

parallel processing - GNU paralelo no funciona en absoluto



parallel-processing xargs (3)

Cuando estaba a punto de terminar de escribir esta pregunta, ejecuté parallel --version versión parallel --version para informar la versión, solo para encontrar:

ADVERTENCIA: USTED ESTÁ USANDO --tollef. SI LAS COSAS ESTÁN ACTUANDO USO EXTRAÑO --gnu.

No me queda claro por qué esa bandera está configurada de manera predeterminada. No hace falta decir que usar --gnu funcionó!

Pensé que publicaría esto para ahorrarle a alguien horas de frustración y confusión.

EDITAR: para solucionar esto de forma permanente (al menos en Ubuntu), elimine el indicador --tollef en /etc/parallel/config

He intentado usar GNU parallel por un tiempo, ¡pero nunca he podido hacerlo funcionar!

Por ejemplo, ejecutando (en un directorio no vacío):

ls | parallel echo # Outputs single new line ls | parallel echo echo echo # Outputs three new lines. ls | parallel echo {} # /bin/bash: {}: command not found ls | parallel echo ''{}'' # /bin/bash: {}: command not found ls | parallel ''echo {}'' # Outputs: {} ls | parallel -IMM ''echo MM'' # Outputs: MM

Parece que simplemente está ejecutando cada argumento como un comando, lo que no tiene sentido.

He intentado bash, zsh, tcsh, csh y sh, sin éxito.


Dependiendo de su sistema operativo, debe verificar si realmente está ejecutando la versión de GNU.

$ 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

Si este es el caso, no está ejecutando la versión de GNU. Ubuntu 12.04 es así, y deberá instalar GNU paralelo de forma manual para obtener la funcionalidad que espera.


Tenía problemas paralelos como un comando externo de FREEMAT (MATLAB lookalike); el argumentoFile no se envió al comando correctamente resuelto por:

  • Añadiendo --gnu a las opciones
  • No se usa la sintaxis de cmdString que implica ["]

Código:

cmdString = ''parallel --gnu command ::: ''; while j<=jLength cmdString = [cmdString argumentFilePath(j,:) '' '']; j=j+1; end system(cmdString)

Gracias por eso :) También estoy en Ubuntu 12.04.