প্রথমত, ফাইলগুলির বিষয়বস্তুgrep
অনুসন্ধান করে, এটি ফাইলের নাম অনুসন্ধান করবে না। তার জন্য আপনি চান । এতে ফাইলের নাম দৈর্ঘ্য সেট করার বিকল্প নেই তবে আপনি যা চান তা পেতে আপনি এটির আউটপুট পার্স করতে পারেন। এখানে কয়েকটি উদাহরণ রয়েছে যা আমি নিম্নলিখিত ফাইলগুলি সহ একটি ডিরেক্টরিতে চালিত করি:find
$ tree
.
├── a
├── ab
├── abc
├── abcd
└── dir
├── a
├── ab
├── abc
└── abcd
এই ডিরেক্টরিতে ফাইলগুলি অনুসন্ধান করা ফিরে আসে:
$ find . -type f | sort
./a
./ab
./abc
./abcd
./dir/a
./dir/ab
./dir/abc
./dir/abcd
সুতরাং, এক্স দৈর্ঘ্যের ফাইলগুলি সন্ধান করার জন্য, আমাদের পাথটি সরিয়ে ফেলতে হবে এবং শেষের পরে কেবল অক্ষরগুলিই মেলানো দরকার /
:
$ find . -type f | grep -P '/.{3}$'
sed
কমান্ড ঠিক সরিয়ে ফেলা হবে ./
। -P
পতাকা পার্ল সামঞ্জস্যপূর্ণ রেগুলার এক্সপ্রেশন, যার জন্য প্রয়োজন হয় সক্রিয় {n}
যা PCRE জিনিস এবং $
মানে হলো "স্ট্রিংয়ের শেষ প্রান্ত মেলে"।
আপনি সহজভাবে এটি করতে পারেন:
find . -type f | grep -P '/...$'
ছোট সংখ্যার জন্য 15 ডট টাইপের দৈর্ঘ্যের ফাইলের সাথে মিল রাখতে টাইপ করা খুব দক্ষ নয়।
অবশেষে, আপনি যদি এক্সটেনশনটি উপেক্ষা করতে এবং কেবল ফাইলের নামের সাথে মিল করতে চান তবে এটি করুন (@ এসএমএলএম প্রস্তাবিত হিসাবে):
find . -type f | grep -P '/.{1}\.'
তবে এটি এর মতো ফাইলগুলিও খুঁজে পাবে a.bo.go
। আপনার ফাইলের নামগুলিতে একাধিক থাকতে পারে তবে এটি আরও ভাল .
:
find . -type f | grep -P '/.{1}\.[^.]+$'
দ্রষ্টব্য: উপরের সমাধানটি ধরে নিয়েছে যে আপনার তুলনামূলকভাবে বুদ্ধিমান ফাইলনাম রয়েছে যাতে নতুন লাইন বর্ণগুলি নেই। এর মধ্যে যদি কোনও সমস্যা হয় তবে আমাকে জানান এবং আমি আমার উত্তর আপডেট করব।
a.go
দৈর্ঘ্যের একটি ফাইল নাম 4 4. দৈর্ঘ্যেরa
একটি ফাইলের নাম 1. এটি ইউনিক্স, ডস নয় যেখানে নাম এবং এক্সটেনশন পৃথক ছিল এবং একটি অন্তর্ভুক্ত.
সর্বদা ফাইলের নাম ছিল part