Tại sao (GNU?) Song song thất bại âm thầm, và làm cách nào để khắc phục nó?


15

Trong một kịch bản lớn hơn để xử lý hậu kỳ một số dữ liệu mô phỏng tôi đã có dòng sau:

parallel bnzip2 -- *.bz2

Mà, nếu tôi hiểu parallelchính xác (và tôi có thể không), nên chạy các luồng n-core của chương trình trên tất cả các tệp có phần mở rộng được liệt kê. Bạn có thể nhận thấy rằng tôi viết sai chính tả bunzip2. Tôi sẽ mong đợi một cảnh báo hoặc thông báo lỗi ở đây, nhưng nó thất bại âm thầm. Đây có phải là dự định? Làm thế nào để tôi không nhận được một chút bởi điều này trong tương lai?

Cập nhật:

Có thể là tôi đã parallelcài đặt khác với tôi nghĩ:

> 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

Một trang nam paralleltrên hệ thống của tôi cung cấp:

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

Có vẻ như đây không phải là phiên bản GNU.


In một lỗi trên hệ thống của tôi. Nó parallel --versionnói gì $ parallel bnzip2 -- * sh: bnzip2: command not found
Mikel

GNU song song là "Bản quyền (C) 2010,2011,2012 Ole Tange, ole.tange.dk và Free Software Foundation, Inc." (Cùng tác giả kể từ khi thành lập.)
Mat

Câu trả lời:


20

Bạn đã bị ảnh hưởng bởi sự nhầm lẫn với song song của Tollef từ moreutils. Xem https://www.gnu.org/software/abul/history.html

Bạn có thể cài đặt GNU Parallel đơn giản bằng cách:

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

Xem các video giới thiệu về GNU Parallel để tìm hiểu thêm: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1


1
Điều này thật ý nghĩa ngay lúc này! Đối với bản ghi, trên Ubuntu 12 ngay bây giờ apt-get install parallelkéo song song Tollef không phải là phiên bản GNU của bạn. Cảm ơn vì đã điền cho tôi.
Hooked

1
Đối với Ubuntu 12, hãy xem Tôi lấy gói cho GNU Parallel ở đâu?
Ian

12

(Tôi sẽ bình luận, nhưng tôi thiếu các đặc quyền.)

Bạn cũng có thể chỉ cần sử dụng parallel --gnu. Bạn đã nói rằng Ubuntu 12 (.04?) Sử dụng phiên bản của Tollef, nhưng thực tế đó là cách triển khai gnu, nó chỉ mặc định theo cú pháp của Tollef theo mặc định vì một số lý do.

Tôi đã thêm vào alias parallel='parallel --gnu'tập lệnh đăng nhập của mình để tôi không phải bận tâm đến nó nữa.


2
Bạn cũng có thể thêm --gnuvào $ HOME / .pool / config.
Thor

Lưu ý: Câu trả lời ở đây là giải quyết một nhận xét từ @Hooked.
tộc

Xem ở đây để biết cách tiếp cận khác cộng thêm một chút chi tiết về các phiên bản: Askubfox.com/a/298598/11522 .
tộc

1
Fedora cũng bực bội đặt --tollef vào / etc /allel / config . Như thể điều đó không đủ đáng ghét, GNU song song tự báo cáo rằng --tollef sẽ bị xóa vào năm 20140222 .
nhạcinmybrain
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.