*.c
প্যাটার্ন আপনার শেল দ্বারা মূল্যায়ন করা হয়। এটি আপনার ব্যবহারের মতো বর্তমান ডিরেক্টরিতেও প্রযোজ্য ls *.c
।
আমি মনে করি আপনি পরিবর্তে যা চান তা হ'ল *.c
প্যাটার্নের সাথে মিলে যাওয়া সমস্ত ফাইলগুলি grep
অনুসন্ধান করা (পুনরাবৃত্তভাবে) এবং এতে আপনার সন্ধান করা। এটি করার জন্য এখানে একটি উপায়:
find . -name "*.c" -print0 | xargs --null grep -l search-pattern
এটি xargs
দ্বারা অনুসন্ধান ফলাফল সংযোজন ব্যবহার করে find
।
বিকল্পভাবে, সন্ধান করতে -exec
বিকল্পটি ব্যবহার করুন , যেমন:
find . -name "*.c" -exec grep -l search-pattern "{}" \;
এছাড়াও, আপনি সত্যিকারের -l
বিকল্পটি চান কিনা তাও আমি নিশ্চিত নই grep
। এটি প্রথম ম্যাচে থামবে:
-l, --files-with-matches
Suppress normal output; instead print the name of each
input file from which output would normally have been
printed. The scanning will stop on the first match.
(-l is specified by POSIX.)
--include=GLOB
বিকল্পটি জানতাম না । পুনরাবৃত্তির বিকল্পটির সাথে একত্রে এটি খুব শক্তিশালী এবং এর প্রয়োজন হয় নাfind
। নিস!