「GNU parallel」の版間の差分
提供: Eospedia
(→lsでファイルをリストアップし、ローカルマシンで並列処理) |
|||
行15: | 行15: | ||
ls *.tif | parallel -j 4 'e2proc2d.py --apix 1.9 --outmode uint16 --outtype mrc --fixintscaling noscale {} {.}.mrc' | ls *.tif | parallel -j 4 'e2proc2d.py --apix 1.9 --outmode uint16 --outtype mrc --fixintscaling noscale {} {.}.mrc' | ||
</pre> | </pre> | ||
+ | |||
+ | {} は ls *.tif からパイプ( | )を通して渡された個々のファイル名を表し、{.} は末尾の拡張子を除去することを意味する。 | ||
+ | |||
+ | 即ち、{} が hoge.tif であるとき、{.} は hoge となり、{.}.mrc は hoge.mrc となる。 |
2019年7月24日 (水) 05:30時点における版
GNU parallelとは
- 任意のコマンドを並列で実行してくれるお助けコマンドラインツール。
- 意外と知っている人が少ない感があるが、使ってみると超便利。
GNU parallel勉強リソース
- https://www.youtube.com/watch?v=OpaiGYxkSuQ&list=PL284C9FF2488BC6D1&index=2&t=0s
- 開発者Ole Tange本人によるビデオチュートリアル。とりあえず見たほうが良い。
コマンド備忘録
- 具体的なコマンドとともに。
lsでファイルをリストアップし、ローカルマシンで並列処理
カレントディレクトリ内の.tifファイルを.mrcファイルに変換する処理を4プロセス並列で。
ls *.tif | parallel -j 4 'e2proc2d.py --apix 1.9 --outmode uint16 --outtype mrc --fixintscaling noscale {} {.}.mrc'
{} は ls *.tif からパイプ( | )を通して渡された個々のファイル名を表し、{.} は末尾の拡張子を除去することを意味する。
即ち、{} が hoge.tif であるとき、{.} は hoge となり、{.}.mrc は hoge.mrc となる。