Anda dapat menggunakan identify
dari imagemagick
, dan Anda dapat menggunakan perintah berikut:
find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '$1<300 || $2<300'
penggunaan -exec <command> '{}' \;
memastikan bahwa nama file Anda dapat memiliki ruang di dalamnya, atau Anda dapat menggunakan
find . -iname "*.jpg" -type f | xargs -I{} identify -format '%w %h %i' {} | awk '$1<300 || $2<300'
di mana -I{}
mengurus hal yang sama.
Yang saya sukai identify
adalah Anda dapat menentukan format output; dalam hal ini '%w %h %i'
yang memberikan lebar, tinggi, dan pathname lengkap dari gambar. Maka awk
ekspresi hanya menyimpan garis-garis yang gambarnya lebih kecil dari ukuran yang diinginkan.
Contoh output:
64 64 ./thumbsup.jpg
100 150 ./photomin.jpg
Edit: Jika Anda ingin nama file saja (untuk pipa untuk rm
misalnya), hanya mengubah $line
dalam awk
pernyataan $3
, maka hanya akan mencetak kolom ketiga.
| awk '$1<300||$2<300'
atau| awk '$1<300||$2<300{print $3}'
(ketika hanya kolom ke-3 diperlukan).