サブフォルダが多いフォルダがあるとしましょう。各サブフォルダには多くの画像が含まれています。
以下の条件で各サブフォルダの画像サイズを調整したいと思います。
- 画像の高さが1000ピクセル未満の場合はコメントを付けます。
- 画像の高さが1001〜2500ピクセルの場合は、サイズを70%に調整してください。
- 画像の高さが2501〜3000ピクセルの場合は、サイズを50%に調整してください。
- 画像の高さが3000ピクセルを超える場合は、サイズを30%に調整してください。
- 新しい画像が古い画像を置き換えます。
通常、情報を1つずつ調べて、mogrifyコマンドを使用していくつかの画像でこれを実行できますが、今回はサブフォルダが多すぎます。私は新しいLinuxユーザーなので、助けてくれてありがとう。
ベストアンサー1
コードを修正しましたジアチャオ次のように提供し、動作するようにしてください。
MIN_RES=1001
MAX_RES=2500
RES11=2501
RES12=3000
RES21=3001
RES22=10000
for i in *.jpg; do
YRES=$(identify -verbose $i|grep Geometry: |cut -d 'x' -f2 |sed 's|+.*||g')
if [ $YRES -gt $MIN_RES ] && [ $YRES -lt $MAX_RES ]; then
echo "Found: $i with y-res: $YRES";
# convert
convert -resize 70% $i $i;
elif [ $YRES -gt $RES11 ] && [ $YRES -lt $RES12 ]; then
echo "Found: $i with y-res: $YRES";
convert -resize 50% $i $i;
else [ $YRES -gt $RES21 ] && [ $YRES -lt $RES22 ]
echo "Found: $i with y-res: $YRES";
convert -resize 30% $i $i;
fi
done