আপনি এর 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}'
(যখন কেবল তৃতীয় কলামটি প্রয়োজন)।