GNU parallel
GNU parallel (グヌー・パラレル) は、Unix系OSのコマンドラインユーティリティである。Unixシェル上でコマンドの並列実行を可能にする[1]。Ole Tange によってPerl言語で作られ、GNU GPL v3+の下で配布されている[1]。 使用方法最も一般的な使用方法は、 for x in $(cat list) ; do
do_something "${x}"
done | process_output
このコマンドは以下のように置き換えることができる。 cat list | parallel do_something | process_output
GNU parallel を使用するスクリプトは、pexecを使用するスクリプトよりも可読性が高いものになる。 GNU parallel では、以下のような処理が行われる。
デフォルトでは、CPUのコア数と同数のジョブが並列実行される。 実行例find . -name "*.foo" | parallel grep bar
上記のコマンドは以下のコマンドと同等である。 find . -name "*.foo" -exec grep bar {} +
これらのコマンドは、カレントディレクトリとそれ以下に存在する全てのファイルとディレクトリで名前が『 find . -name "*.foo" -print0 | parallel -0 grep bar
上記のコマンドは、ヌル文字によってファイル名を区切っている。 find . -name "*.foo" | parallel -X mv {} /tmp/trash
上記のコマンドは、引数の位置を find . -maxdepth 1 -type f -name "*.ogg" | parallel -X -r cp -v -p {} /home/media
上記のコマンドは以下のコマンドと同等である。 cp -v -p *.ogg /home/media
上記のコマンドよりも 脚注
関連項目外部リンク |
Portal di Ensiklopedia Dunia