GNU parallel не работает вообще
Я пытался использовать GNU parallel в течение некоторого времени, но я никогда не был в состоянии заставить его функционировать вообще!
например, работает (в непустом каталоге!):
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
Кажется, что он просто выполняет каждый аргумент как команду, что не имеет смысла.
Я пробовал bash, zsh, tcsh, csh и sh, но безрезультатно.
3 ответов:
когда я собирался закончить писать этот вопрос, я побежал
parallel --versionчтобы сообщить версию, только чтобы найти:внимание: вы используете --tollef. Если вещи ведут себя странно, используйте -- gnu.
мне непонятно, почему этот флаг установлен по умолчанию. Само собой разумеется, с помощью
--gnuработала!думал, что я опубликую это, чтобы сэкономить кому-то часы разочарования и путаницы.
EDIT: Чтобы исправить это навсегда (в Ubuntu по крайней мере), удалите
--tollefфлаг/etc/parallel/config
в зависимости от вашей операционной системы, вы должны проверить, действительно ли вы используете версию 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Если это так, то вы не используете версию GNU. Ubuntu 12.04 выглядит так, и вам нужно вручную установить GNU parallel чтобы получить функциональность, которую вы ожидаете.
были проблемы, запущенные параллельно в качестве внешней команды из FREEMAT (MATLAB lookalike); argumentFile не был передан команде правильно решил ее:
- добавление -- gnu в options
- не используя синтаксис cmdString с участием ["]
код:
cmdString = 'parallel --gnu command ::: '; while j<=jLength cmdString = [cmdString argumentFilePath(j,:) ' ']; j=j+1; end system(cmdString)Спасибо за это :) Im на Ubuntu 12.04, а также.
Comments