কম্পিউটারটি একটি কম্পিউটার হচ্ছে: এটি আপনি যা করতে চেয়েছিলেন তার পরিবর্তে আপনি যা করতে বলেছেন তা করছে doing
grep -v "something something"
ধারণ করে না এমন সমস্ত লাইন মুদ্রণ করে something something
। উদাহরণস্বরূপ, এটি নিম্নলিখিত তিনটির মধ্যে দুটি লাইন প্রিন্ট করে:
hello world
this is something something
something else
extends SomethingSomething
কোথাও নেই এমন ফাইলগুলি মুদ্রণের জন্য, -L
বিকল্পটি ব্যবহার করুন :
grep -L -E 'extends[[:space:]]+SomethingSomething' FILENAME…
গ্রেপের কিছু সংস্করণে -L
বিকল্প নেই (এটি পসিক্স দ্বারা নির্দিষ্ট করা হয়নি )। যদি আপনার না হয় তবে এটি কিছু না প্রিন্ট করুন এবং কলিং শেলটির পরিবর্তে যা করা উচিত তা করতে রিটার্ন কোডটি ব্যবহার করুন।
grep -q -E 'extends[[:space:]]+SomethingSomething' FILENAME ||
echo "$FILENAME"
বিকল্পভাবে, awk ব্যবহার করুন।
awk '
FNR == 1 && NR != 1 && !found { print fn }
FNR == 1 { fn = FILENAME; found = 0; }
/extends[[:space:]]+SomethingSomething/ { found = 1 }
END { if (fn != "" && !found) print fn }
'
লিনাক্স বা সাইগউইন (বা জিএনইউ গ্রেপ সহ অন্যান্য সিস্টেম) এ, আপনার পুনরুক্তি করতে সক্ষম find
হিসাবে ব্যবহার করার দরকার grep
নেই।
grep -R --include='*.java' -L -E 'extends[[:space:]]+SomethingSomething'
যদি আপনার শেলটি ksh বা বাশ বা zsh হয় তবে আপনি শেলটি ফাইলের সাথে মিলে ফেলতে পারেন। বাশ এ, set -o globstar
প্রথমে চালান (আপনি এটি আপনার মধ্যে রাখতে পারেন ~/.bashrc
)।
grep -L -E 'extends[[:space:]]+SomethingSomething' **/*.java