Почему (GNU?) Параллельный сбой молча, и как я могу это исправить?


15

В более крупном сценарии для последующей обработки некоторых данных моделирования у меня была следующая строка:

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.


Распечатывает ошибку в моей системе. Что parallel --versionговорит? $ parallel bnzip2 -- * sh: bnzip2: command not found
Микель

Параллельно GNU: «Copyright (C) 2010,2011,2012 Ole Tange, ole.tange.dk и Free Software Foundation, Inc.» (Тот же автор с самого начала.)
Мат

Ответы:


20

Вы были поражены путаницей с параллелью Толлефа от moreutils. См. 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
Все это имеет смысл сейчас! Для apt-get install parallelсправки , на Ubuntu 12 прямо сейчас тянет параллель Толлефа, а не вашу версию GNU. Спасибо за то, что наполнили меня.
Hooked


12

(Я хотел бы сделать это комментарий, но у меня нет привилегий.)

Вы также можете, вероятно, просто использовать parallel --gnu. Вы сказали, что Ubuntu 12 (.04?) Использует версию Tollef, но на самом деле это реализация gnu, по какой-то причине по умолчанию используется синтаксис Tollef по умолчанию.

Я добавил alias parallel='parallel --gnu'к своему сценарию входа в систему, чтобы мне больше не пришлось с ним суетиться.


2
Вы также можете добавить --gnuв $ HOME / .parallel / config.
Тор

Примечание. Ответом здесь является адрес комментария от @Hooked.
Нобар

Смотрите здесь для другого подхода плюс немного больше деталей относительно версий: askubuntu.com/a/298598/11522 .
Нобар

1
Fedora также расстраивает --tollef в / etc / parallel / config . Как будто это не является достаточно неприятным, GNU Параллельно сообщает, что --tollef будет удален в 20140222 .
musicinmybrain
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.