ডিরেক্টরি এবং এর উপ-ডিরেক্টরিতে সমস্ত অ্যানিমেটেড জিআইএফ ফাইলগুলি সন্ধান করুন


12

আসুন আমরা বলি যে আমি .gifফাইলগুলি অনুসন্ধান করেছি এবং একগুচ্ছ ফাইল ফিরে পেয়েছি। আমি এখন তাদের পরীক্ষা করতে চাই যে তারা অ্যানিমেটেড জিআইএফ কিনা । আমি কি কমান্ড লাইনের মাধ্যমে এটি করতে পারি?

আপনি যদি সেগুলিতে পরীক্ষা করতে চান তবে আমি নীচে কয়েকটি উদাহরণ আপলোড করেছি।

অ্যানিমেটেড জিআইএফ চিত্র

অ্যানিমেটেড জিএফ চিত্র

স্ট্যাটিক জিআইএফ চিত্র

স্ট্যাটিক জিআইএফ ইমেজ

উত্তর:


22

ইমেজম্যাগিক ব্যবহার করে এটি সহজেই করা যায়

identify -format '%n %i\n' -- *.gif

12 animated.gif
1 non_animated.gif

identify -format %nজিআইএফ-তে ফ্রেমের সংখ্যা মুদ্রণ করে; অ্যানিমেটেড জিআইএফগুলির জন্য, এই সংখ্যাটি 1 এর চেয়ে বড়।

(সহজেই ইনস্টল করার জন্য ইমেজম্যাগিক সম্ভবত আপনার ডিস্ট্রোর সংগ্রহস্থলে সহজেই উপলব্ধ)


নিখুঁত, ধন্যবাদ - আমি ইতিমধ্যে ইমেজম্যাগিক ইনস্টল করেছি।
ম্যাক্স উইলিয়ামস

9

ব্যবহার exiftool:

exiftool -q -if '$framecount > 1' -p '$directory/$filename' -r -ext:gif .

একাধিক ফ্রেমের (বর্তমান ডিরেক্টরিতে পুনরাবৃত্তভাবে) জিআইএফ ফাইলগুলির পাথগুলি প্রতিবেদন করবে।


5

অপারেটরটি imব্যবহারের সাথে অন্য একটি উপায় fx:

find . -type f -name \*.gif -exec sh -c \
'identify -format "%[fx:n>1]\n" "$0" | grep -q 1' {} \; -print

এটি .gifপ্রতিটি .gifপাওয়া যায় এমন শেল কমান্ড চলমান চিত্রগুলির জন্য বর্তমান ডিরেক্টরি এবং এটির উপ ডিরেক্টরিগুলি অনুসন্ধান করে । ফ্রেমের সংখ্যা যদি প্রিন্ট করে n>1তবে অন্যথায় এটি প্রিন্ট করে । এই জন্য বাঁশি বাজালাম হয় তাই শুধুমাত্র মৃত্যুদন্ড কার্যকর করা হয় পূর্ববর্তী যদি সফল হয়েছে।fx10grep -q 1-print-exec

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.