আপডেট 2:
কম্যান্ডের এই লাইন ব্যবহার find
এবং grep
সমস্যা সমাধান করা হয়েছে:
$ find path_to_search_in -type f -exec grep -in searchString {} 2> /dev/null +
--color=<always or auto>
রঙিন আউটপুট জন্য:
$ find path_to_search_in -type f \
-exec grep --color=always -in searchString {} 2>/dev/null +
উদাহরণ:
$ find /tmp/test/ -type f -exec grep --color=auto -in "Search string" {} 2>/dev/null +
নীচে স্ন্যাপশটে চালানো একটি উদাহরণ:
আপডেট 1:
আপনি কোড অনুসরণ করার চেষ্টা করতে পারেন; আপনার .bashrc
বা .bash_aliases
কোনও স্ক্রিপ্টে একটি ফাংশন হিসাবে :
wherein ()
{
for i in $(find "$1" -type f 2> /dev/null);
do
if grep --color=auto -i "$2" "$i" 2> /dev/null; then
echo -e "\033[0;32mFound in: $i \033[0m\n";
fi;
done
}
ব্যবহার: wherein /path/to/search/in/ searchkeyword
উদাহরণ:
$ wherein ~/Documents/ "hello world"
(দ্রষ্টব্য: @ এঞ্জোটিব নীচের মন্তব্যে যেমন পরামর্শ দিয়েছেন, এটি ফাইল / ডিরেক্টরিতে তাদের নামে ফাঁকা স্থানগুলি সহ কাজ করে না))
আসল পোস্ট
স্ট্রিং এবং আউটপুট অনুসন্ধানের জন্য অনুসন্ধান স্ট্রিংয়ের সাথে কেবল সেই লাইনটি অনুসন্ধান করতে:
$ for i in $(find /path/of/target/directory -type f); do \
grep -i "the string to look for" "$i"; done
উদাহরণ:
$ for i in $(find /usr/share/applications -type f); \
do grep -i "web browser" "$i"; done
অনুসন্ধানের স্ট্রিং সহ ফাইলের নাম প্রদর্শন করতে:
$ for i in $(find /path/of/target/directory -type f); do \
if grep -i "the string to look for" "$i" > /dev/null; then echo "$i"; fi; done;
উদাহরণ:
$ for i in $(find /usr/share/applications -type f); \
do if grep -i "web browser" "$i" > /dev/null; then echo "$i"; \
fi; done;