Mengapa paralel (GNU?) Gagal diam-diam, dan bagaimana cara memperbaikinya?

15

Dalam skrip yang lebih besar untuk memposting-proses beberapa data simulasi saya memiliki baris berikut:

parallel bnzip2 -- *.bz2

Yang, jika saya mengerti paralleldengan benar (dan saya mungkin tidak), harus menjalankan utas-utas program pada semua file dengan ekstensi yang terdaftar. Anda mungkin memperhatikan bahwa saya salah mengeja perintah bunzip2. Saya mengharapkan pesan peringatan atau kesalahan di sini, tetapi gagal diam-diam. Apakah ini dimaksudkan? Bagaimana saya tidak mendapatkan bit dari ini di masa depan?

Memperbarui:

Mungkin saja saya memiliki parallelinstalasi yang berbeda dari yang saya kira:

> 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

Halaman manual parallelpada sistem saya memberikan:

 parallel(1)                                                        parallel(1)
NAME
       parallel - run programs in parallel
....
AUTHOR
   Tollef Fog Heen

Yang sepertinya ini bukan versi GNU.

Doyan
sumber
Mencetak kesalahan pada sistem saya. Apa yang parallel --versiondikatakan? $ parallel bnzip2 -- * sh: bnzip2: command not found
Mikel
Paralel GNU adalah "Hak Cipta (C) 2010,2011,2012 Ole Tange, ole.tange.dk dan Free Software Foundation, Inc." (Penulis yang sama sejak awal.)
Mat

Jawaban:

20

Anda telah dilanda kebingungan dengan paralel Tollef dari moreutils. Lihat https://www.gnu.org/software/parallel/history.html

Anda dapat menginstal GNU Parallel hanya dengan:

wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem

Tonton video intro untuk GNU Parallel untuk mempelajari lebih lanjut: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Ole Tange
sumber
1
Semuanya masuk akal sekarang! Sebagai catatan, pada Ubuntu 12 sekarang apt-get install parallelmenarik paralel Tollef bukan versi GNU Anda. Terima kasih telah mengisikan saya.
Terhubung
12

(Saya akan membuat ini komentar, tapi saya tidak memiliki hak istimewa.)

Anda juga bisa menggunakan saja parallel --gnu. Anda mengatakan bahwa Ubuntu 12 (.04?) Menggunakan versi Tollef, tetapi sebenarnya implementasi gnu, itu hanya default ke sintaks Tollef secara default karena beberapa alasan.

Saya menambahkan alias parallel='parallel --gnu'ke skrip login saya jadi saya tidak perlu repot-repot lagi.

billyjmc
sumber
2
Anda juga dapat menambahkan --gnuke $ HOME / .parallel / config.
Thor
Catatan: Jawabannya di sini adalah mengalamatkan komentar dari @Hooked.
Nobar
Lihat di sini untuk pendekatan lain plus sedikit lebih detail mengenai versi: askubuntu.com/a/298598/11522 .
Nobar
1
Fedora juga menempatkan --tollef di / etc / parallel / config . Seolah itu tidak cukup menjengkelkan, GNU parallel sendiri melaporkan bahwa --tollef akan dihapus pada 20140222 .
musicinmybrain