次のようなディレクトリ構造に元の画像があります。
./Alabama/1.jpg
./Alabama/2.jpg
./Alabama/3.jpg
./Alaska/1.jpg
...the rest of the states...
元の画像をすべてサムネイルに変換して、ウェブサイトに表示できるようにしたかったのです。少し掘り下げて実験した後、次のLinuxコマンドを思いつきました。
find . -type f -iname '*.jpg' | sed -e 's/\.jpg$//' | xargs -I Y convert Y.jpg -thumbnail x100\> Y-small.jpg
サブディレクトリ内のすべてのjpg画像を再帰的に検索し、ファイルタイプ(.jpg)を削除して後で名前を変更できるようにしてから、サムネイルに変更し、ファイルタイプの前に「-small」を追加して名前を変更します。
それは私の目的には役立ちましたが、少し複雑で、あまり堅牢ではありません。たとえば、ファイル名の先頭に「small-」を挿入する方法がわかりません(so ./Alabama/small-1.jpg
)。
質問:
- 複数のサブディレクトリにある画像からサムネイルを作成するためのより優れた、より堅牢な方法はありますか?
- 既存のコマンドをより堅牢にすることはできますか(たとえば、
sed
保存する前に出力されたサムネイルの名前を変更するために使用します-基本的にY-small.jpg部分を変更します)。