Чому паралельно (GNU?) Паралельна мовчки виходить з ладу, і як це я виправити?


15

У більшому сценарії для обробки деяких даних моделювання у мене був такий рядок:

parallel bnzip2 -- *.bz2

Який, якщо я parallelправильно розумію (а я не можу), повинен запускати n-core потоки програми над усіма файлами із переліченим розширенням. Ви можете помітити, що я неправильно написав команду 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 та Foundation Free Software, 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, щоб дізнатися більше: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1


1
Це все має сенс зараз! Для запису, Ubuntu 12 зараз apt-get install parallelтягне паралельно Tollef, а не вашу версію GNU. Дякую за те, що мене заповнили.
Зачепили


12

(Я зробив би це зауваження, але мені не вистачає привілеїв.)

Ви також можете, ймовірно, просто використовувати parallel --gnu. Ви сказали, що Ubuntu 12 (.04?) Використовує версію Tollef, але це фактично реалізація gnu, вона просто за замовчуванням використовує синтаксис Tollef.

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


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

Примітка. Відповідь тут стосується коментаря від @Hooked.
nobar

Дивіться тут ще один підхід плюс трохи детальніше стосовно версій: askubuntu.com/a/298598/11522 .
nobar

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