আমি কল্পনা করেছিলাম এটি 1-লাইনার হিসাবে করা যেতে পারে তবে এটি কিছুটা জটিল মনে হয়েছিল তাই আমি প্রবর্তন এবং সম্পাদনা সহজ করার জন্য একটি স্ক্রিপ্ট তৈরি করেছি এবং এটি findvids.sh
বলেছিলাম এটি আমার জন্য কাজ করেছিল।
দ্রষ্টব্য: আমি সমস্ত ভিডিও ফাইলের প্রচ্ছদ না covered একটি উল্লেখযোগ্য ব্যতিক্রম .mkv হ'ল এটি প্রকল্পের টার্গেট ফর্ম্যাট এবং ইতিমধ্যে প্রক্রিয়াধীন ফাইলগুলির সন্ধান করার দরকার নেই। আপনার প্রয়োজন অনুসারে স্ক্রিপ্টে অতিরিক্ত বিন্যাসগুলি (এক্সটেনশানগুলি) যুক্ত করা খুব সহজ হওয়া উচিত প্যাটার্নটি পরীক্ষা করে এবং অভিব্যক্তিটির শুরুতে এবং শেষে উদ্ধৃতিগুলি বজায় রেখে সেই অনুযায়ী সামঞ্জস্য করে। নোট করুন যে ফাইলগুলি পড়ার অনুমতি নেই সেগুলি পাওয়া যাবে না।
#!/bin/bash
#This script is intended to find virtually all video file formats.
find /. -type f | grep -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp*$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
সম্পাদনা করুন মন্তব্য উপর ভিত্তি করে:$
এক্সটেনশন প্রকাশ করে শেষে অনুসন্ধান শব্দ লাইনের শেষে পাওয়া যাবে আবশ্যক। আমরা যদি লাইনের শুরুটির সাথে মিল রাখতে চাইতাম তবে পরিবর্তে আমরা যে ^
শব্দটি মেলে তার সাথে আমরা ব্যবহার করতে চাই । আপনি এখানে এখানে আরও বিস্তারিতভাবে বর্ণিত এই অ্যাঙ্কারগুলি দেখতে পাবেন ।
আমি অবস্থানটি ব্যবহারের সাথে তুলনা করেছিলাম এবং ফলাফলগুলি ছিল:
time locate *.mkv *.webm *.flv *.vob *.ogg *.ogv *.drc *gifv *.mng *.avi *.mov *.qt *.wmv *.yuv *.rm *.rmvb *.asf *.amv *.mp4$ *.m4v *.mp *.m?v *.svi *.3gp *.flv *.f4v
real 0m8.887s
user 0m5.814s
sys 0m0.052s
বনাম
time find /. -type f | grep -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp4$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
real 0m2.795s
user 0m0.657s
sys 0m1.115s
অপ্রত্যাশিতভাবে অনুসন্ধান দ্রুত হয়। আমি এই পদ্ধতির ব্যবহার করা হবে।
সম্পাদনা করুন: আরও পরীক্ষাটি নির্দেশ করে যে সনাক্তকরণটি অন্য কোনও মেশিনে দ্রুত ছিল। আমি মনে করি আমার প্রাথমিক গতির পরীক্ষার ফলাফলগুলি ক্যাশিংয়ের কারণে আবদ্ধ হয়েছিল।
সূত্র:
man find
man grep
/programming/7190565/unix-find-multiple-file-types