cmoz.sh
#!/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も良い子。