В более крупном сценарии для последующей обработки некоторых данных моделирования у меня была следующая строка:
parallel bnzip2 -- *.bz2
Который, если я parallel
правильно понимаю (а могу и нет), должен запускать н-ядерные потоки программы над всеми файлами с указанным расширением. Вы можете заметить, что я неправильно написал команду 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
Страница man в parallel
моей системе дает:
parallel(1) parallel(1)
NAME
parallel - run programs in parallel
....
AUTHOR
Tollef Fog Heen
Который кажется, что это не версия GNU.
gnu-parallel
moreutils-parallel
Увлеченные
источник
источник
parallel --version
говорит?$ parallel bnzip2 -- * sh: bnzip2: command not found
Ответы:
Вы были поражены путаницей с параллелью Толлефа от moreutils. См. Https://www.gnu.org/software/parallel/history.html.
Вы можете установить GNU Parallel просто:
Посмотрите вступительные видео для GNU Parallel, чтобы узнать больше: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
источник
apt-get install parallel
справки , на Ubuntu 12 прямо сейчас тянет параллель Толлефа, а не вашу версию GNU. Спасибо за то, что наполнили меня.(Я хотел бы сделать это комментарий, но у меня нет привилегий.)
Вы также можете, вероятно, просто использовать
parallel --gnu
. Вы сказали, что Ubuntu 12 (.04?) Использует версию Tollef, но на самом деле это реализация gnu, по какой-то причине по умолчанию используется синтаксис Tollef по умолчанию.Я добавил
alias parallel='parallel --gnu'
к своему сценарию входа в систему, чтобы мне больше не пришлось с ним суетиться.источник
--gnu
в $ HOME / .parallel / config.