আমি প্রায়শই জটিল ফোল্ডার কাঠামোগুলিতে উত্স কোড অনুসন্ধান করি এবং এটি ব্যবহার করে দরকারী বলে মনে করি:
cd /your/folder/
grep -rHino "your string"
যারা পরামিতি সঙ্গে, খোঁজ ব্যবহার না করেই , আমি প্রাপ্ত ফাইল সম্পূর্ণ পাথ এবং লাইন সংখ্যা যে রয়েছে চিহ্নিত স্ট্রিংয়ের ।
এছাড়া মনে রাখা সহজ কারণ এটি BASH একটি মত আপনার অনুসন্ধানের মাধ্যমে স্প্যানিশ ভাষায় Rhino :)
আমি কীভাবে এটি একটি দ্রুত উদাহরণ দিয়ে কাজ করে তা দেখাব।
আসুন বিড়াল ব্যবহার করে কোনও ফাইলের সামগ্রী প্রদর্শন করুন:
jeeves ~ # cat fw.stop
#!/bin/sh
echo "Stopping firewall and allowing everyone..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
এবং আসুন "iptables -P" স্ট্রিংযুক্ত সমস্ত ফাইলের জন্য পুনরাবৃত্ত অনুসন্ধান করুন:
jeeves ~ # grep -rinHo "iptables -P"
fw.stop:9:iptables -P
fw.stop:10:iptables -P
fw.stop:11:iptables -P
আউটপুটটিতে আপনি দেখতে পাচ্ছেন যে আমাদের ফাইলের নাম রয়েছে: হিট সারি: অনুসন্ধানের স্ট্রিং
ব্যবহৃত পরামিতিগুলির আরও বিশদ বিবরণ এখানে:
-r প্রতিটি ডিরেক্টরি অপরেন্ডের জন্য, ডিরেক্টরিটিতে সমস্ত ফাইল পুনরাবৃত্তভাবে পড়ুন এবং প্রক্রিয়া করুন। কমান্ড লাইনে প্রতীকী লিঙ্কগুলি অনুসরণ করুন, তবে পুনরাবৃত্তভাবে মুখোমুখি হওয়া সিমলিঙ্কগুলি এড়িয়ে যান। নোট করুন যে কোনও ফাইল অপারেন্ড না দেওয়া থাকলে গ্রেপ ওয়ার্কিং ডিরেক্টরিটি অনুসন্ধান করে। এটি '--directories = recurse' বিকল্প হিসাবে একই।
-i প্রতিটি ম্যাচের জন্য ফাইলের নাম মুদ্রণ করুন। অনুসন্ধানের জন্য একাধিক ফাইল উপস্থিত থাকলে এটি ডিফল্ট।
-n এর ইনপুট ফাইলের মধ্যে 1-ভিত্তিক লাইন নম্বর সহ আউটপুট প্রতিটি লাইন উপসর্গ। (-পোসিক্স দ্বারা নির্দিষ্ট করা হয়।)
-H প্রতিটি ম্যাচের জন্য ফাইলের নাম মুদ্রণ করুন। অনুসন্ধানের জন্য একাধিক ফাইল উপস্থিত থাকলে এটি ডিফল্ট।
-অনুষ্ঠানের সাথে মিলে যাওয়া (খালি নয়) খালি অংশগুলি পৃথক আউটপুট লাইনে এই জাতীয় প্রতিটি অংশ রেখে মুদ্রণ করুন। আউটপুট লাইনগুলি ইনপুট হিসাবে একই ডিলিমিটারগুলি ব্যবহার করে, এবং ডিলিমিটারগুলি নাল বাইট হয় যদি -z (--null-data) ব্যবহৃত হয় (অন্যান্য বিকল্প দেখুন)।
find . -type f -fprint /dev/stderr -exec cat {} \; | grep some string