parallel NAME SYNOPSIS DESCRIPTION OPTIONS EXAMPLES SPREADING BLOCKS OF DATA TIME POSTFIXES UNIT PREFIX QUOTING LIST RUNNING JOBS COMPLETE RUNNING JOBS BUT DO NOT START NEW JOBS ENVIRONMENT VARIABLES DEFAULT PROFILE (CONFIG FILE) PROFILE FILES EXIT STATUS DIFFERENCES BETWEEN GNU Parallel AND ALTERNATIVES BUGS REPORTING BUGS AUTHOR LICENSE DEPENDENCIES SEE ALSO parallel_examples GNU PARALLEL EXAMPL
# !/bin/bash from="a/" to="b/" ex="*.png" find $from -name $ex | parallel -j+0 "cjpeg -outfile $to{/.}.jpg {}" gnu parallel -j+0: 最大論理コア数で実行 {}: パイプでもらった引数(ex. a/001.png) {/.}: パイプからもらった引数をファイル名だけにして(/)さらに拡張子も取る(.)(ex. 001) そのた Q. print0とかつけなくていいの? A. よい。ユニコードだろうがスペースだろうが突っ込めば思ったとおりに'\n'デリミタで動いてくれる。parallelもcjpegも良い子。
プログラムを並列処理する GNU Parallel というプログラムがある。このプログラムの作者 Ole Tange が usenix February 2011, Volume 36, Number 1 に “The Command-Line Power Tool” という記事を書いていたので読んでみた。6ページで GNU Parallel の主要機能がひと通り解説されているので、GNU Parallel の機能をピンポイントでしか知らない人(=自分)が読むと、いろいろと使いどころが湧いて来ると思う。 GNU Parallel: The Command-Line Power Tool February 2011, Volume 36, Number 1 Authors: Ole Tange https://www.usenix.org/publications/login/februar
コマンドの並列処理を行う際、個人的にはGNU Parallelコマンドを使用するか、xargsで-Pオプションを付与するかのどちらかを使うことが多いのだが、GNU Parallelのオプションや使い方についてちゃんと調べた事がなかったので、調べてまとめてみることにする。 なお、検証に利用するGNU parallelのバージョンは以下。 blacknon@BS-PUB-DEVELOP:~$ parallel --version GNU parallel 20141022 Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014 Ole Tange and Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licen
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く