คุณสามารถใช้identify
จากimagemagick
และคุณสามารถใช้คำสั่งต่อไปนี้:
find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '$1<300 || $2<300'
การใช้-exec <command> '{}' \;
ทำให้แน่ใจว่าชื่อไฟล์ของคุณสามารถมีช่องว่างในนั้นหรือคุณสามารถใช้
find . -iname "*.jpg" -type f | xargs -I{} identify -format '%w %h %i' {} | awk '$1<300 || $2<300'
ที่ซึ่ง-I{}
ดูแลสิ่งเดียวกัน
สิ่งที่ฉันชอบidentify
คือคุณสามารถระบุรูปแบบผลลัพธ์ ในกรณีนี้'%w %h %i'
ให้ความกว้างความสูงและชื่อพา ธ แบบเต็มของภาพ จากนั้นawk
นิพจน์จะเก็บเฉพาะเส้นที่มีขนาดเล็กกว่าขนาดที่ต้องการ
ตัวอย่างของการส่งออก:
64 64 ./thumbsup.jpg
100 150 ./photomin.jpg
แก้ไข: ถ้าคุณต้องการชื่อไฟล์เท่านั้น (ท่อเพื่อrm
เป็นต้น) เพียงแค่เปลี่ยน$line
ในawk
คำสั่งให้$3
แล้วมันจะพิมพ์คอลัมน์ที่สาม
| awk '$1<300||$2<300'
หรือ| awk '$1<300||$2<300{print $3}'
(เมื่อต้องการเฉพาะคอลัมน์ที่ 3)