find
উপযোগ শক্তিশালী, কিন্তু আমি কিছু অতিরিক্ত বৈশিষ্ট্য প্রয়োজন চাই।
এটির -regex
অনুসন্ধান প্রতিটি ফাইলের নাম (বা ডাইরনাম )টিকে স্ট্রিং হিসাবে বিবেচনা করে এবং কেবল নামের শুরুতে প্রদত্ত রেইগেক্স প্রয়োগ করে। অজগর মত re.match(..)
। যদি এটি কোনও ম্যাচ তৈরি করে না, এটি পাওয়া যাবে না।
উদাহরণস্বরূপ, যদি আমি 'লগ' সম্বলিত ফাইলগুলি সন্ধান করতে চাই, (আমি জানি যে ফাইলগুলি সন্ধানের আরও সহজ উপায় রয়েছে যার ফাইলের নামটিতে রেগেক্স ছাড়াই 'লগ' রয়েছে তবে এটি কেবল উদাহরণের জন্য)
$ find -regex 'log'
(nothing)
$ find -regex '\./.*log.*$'
./log9
./log7
./log5
./log0
./log2
./log4
./log6
./log8
./log3
./log1
সুতরাং, এমন কোনও উপায় find
রয়েছে -regex
যা ফাইলনামগুলিতে, যেমন grep
অজগরের মতো রেজেক্স ব্যবহার করে re.search(..)
- কেবল স্ট্রিংয়ের শুরুতেই নয়, যেখানে কোথাও এটি মেলে?
.*
বা^./
রেগেক্সের শুরুতে, যদি রেজেক্সগুলি কেবল স্ট্রিংয়ের শুরুতে চেষ্টা না করা হয় তবে এটি অপ্রয়োজনীয় হবে। )-name
কেবল গ্লোবগুলির জন্য .. সুতরাং, অনুমান করুন একমাত্র সমাধান হ'ল আমাকে আরও দীর্ঘকালীন রেজিজেস লিখছি।