উত্তর:
grep -l "string" * | wc -l
ওয়ার্কিং ডিরেক্টরিতে থাকা সমস্ত ফাইলের সামগ্রীতে "স্ট্রিং" অনুসন্ধান করবে এবং কতটি মিলছে তা আপনাকে বলবে।
grep -lr "string" directory | wc -l
আপনি যদি পুনরাবৃত্ত অনুসন্ধান করতে না চান তবে আপনি সর্বোচ্চ অনুসন্ধান বিকল্প সহ সন্ধান করতে পারেন: find directory -maxdepth 1 -type f -exec grep -l "string" {} + | wc -l
নোট করুন যে এই দ্বিতীয় বিকল্পটি গ্রেপের চেয়ে ধীর।
awk '/pattern_to_look_for/ {s+=1; nextfile;} END {print s}' *
স্পষ্টকরণ: এটি তাদের ফাইলের নামগুলিতে (ওয়াগের উত্তরের মতো) ফাইলগুলিতে নয় বরং ফাইলগুলিতে "প্যাটার্ন_ট_লুক_ফর্ম" আছে এমন সংখ্যার সন্ধান করে। আপনার প্রশ্ন থেকে আপনি যা খুঁজছেন তা বলা শক্ত।
find . ! -name . -prune -type f
(ব্যাকটিকগুলি মিস করবেন না)। এই কমান্ডটি কেবল ফোল্ডারে ফাইলগুলি তালিকাভুক্ত করে।
এটি কোনও ফাইলের সাথে বাশে কাজ করে :
grep -lZ "$pattern" * | tr -cd '\000' | wc -c
ব্যাখ্যা:
grep
এর -Z
বিকল্পটি প্রতিটি ফলাফলকে ␀-বাইট বিভাজক দ্বারা মুদ্রণ করে। এই অক্ষরটি কোনও ফাইলের নামের অংশ হতে পারে না, তাই আমরা কেবল ফাইলের সংখ্যা পেতে পৃথককারীদের সংখ্যা গণনা করতে পারি।tr
।wc
।