~/somefolder/
ファイル名が元のサイズで始まらないすべてのPNGファイルのサイズを元のサイズの50%に調整し、tn_
asプレフィックスと元の名前を使用して出力ファイルの名前を変更したいと思います。tn_
変換コマンドがあることを知ってインストールしました。私はこれがbashといくつかの魔法で行われると思いますが、私はUnixに初めて触れました。私はMac OSXを使用しています。
どうすればいいですか?
ベストアンサー1
これを行う1つの方法は次のとおりです(ファイルに入れてPOSIXシェル(たとえば、bash
または)を使用して実行ksh
)。
cd ~/somefolder/ || exit 1
for f in *.png
do
case $f in
(tn_*) continue ;;
(*) convert "${f}" -resize 50%x50% "tn_${f}" ;;
esac
done
最新のシェルでは、このcase
構文をより簡潔な条件付きコマンドに置き換えることもできます。
cd ~/somefolder/ || exit 1
for f in *.png
do
[[ "$f" != tn_* ]] && convert "${f}" -resize 50%x50% "tn_${f}"
done
(ただし、このコードはメモリから取得され、テストされていないため、convert
実際のサイズ変更構文のコマンドを確認し、まずいくつかのサンプルディレクトリにあるいくつかのサンプルファイルで試してみてください。)