मैं एक निर्देशिका में सभी फ़ाइलों में पाठ की एक स्ट्रिंग की खोज करना चाहता हूं (और इसके उपनिर्देशिका नहीं; मुझे पता है कि -rविकल्प ऐसा करता है, लेकिन यह वह नहीं है जो मैं चाहता हूं)।
चल रहा है
grep "string" /path/to/dirऐसा करने में सक्षम होना चाहिए, मैंने पढ़ा है, लेकिन यह मुझे त्रुटि देता है:
grep: dir: एक निर्देशिका है
अगला, मैंने
grepकई फाइलों पर चलने की कोशिश की ।grep "string" .bashrc .bash_aliasesअच्छी तरह से काम।grep "string" .bash*इरादा के अनुसार भी काम करता है।grep "string" *मुझे त्रुटियाँ देता है:grep: data: Is a directory grep: Desktop: Is a directory grep: Documents: Is a directory grep: Downloads: Is a directory ...
केवल त्रुटियों को मुद्रित किया जाता है, मुझे मिलान लाइनें नहीं मिलती हैं। मैंने -sविकल्प का उपयोग करने की कोशिश की , लेकिन कोई फायदा नहीं हुआ।
तो, मेरे सवाल:
grepजब मैं सक्षम होना चाहिए, तो मैं (1) के रूप में एक निर्देशिका पर उपयोग करने में सक्षम क्यों नहीं हूं? मैंने देखा है कि इंटरनेट पर बहुत सारे उदाहरण हैं।
संपादित करें : जब मैं कहता हूं "एक निर्देशिका पर grep का उपयोग कर रहा है", मेरा मतलब है "उस निर्देशिका में सभी फ़ाइलों में खोज उसके उपनिर्देशिका को छोड़कर"। मेरा मानना है कि जब आप किसी निर्देशिका को किसी फ़ाइल के स्थान पर पास करते हैं तो यह grep करता है। क्या मैं गलत हूँ?कृपया मुझे उस के कामकाज पर एक स्पष्टीकरण दें,
grepजो (2) में आदेशों के व्यवहार की व्याख्या करेगा।
संपादित करें : मुझे और अधिक विशिष्ट होने दें। वाइल्डकार्ड्स का उपयोग कई फाइलों को निर्दिष्ट करने के लिए काम करने के लिए या इसके.bash*साथ*भी नहीं करने के लिए क्यों करता है./*?मैं एक निर्देशिका में सभी फ़ाइलों को कैसे खोज सकता हूं (और इसके उपनिर्देशिका नहीं) का उपयोग कर
grep?
grep "string" .bash*भी साथ काम करता है।
grep "string" * .* 2>/dev/nullयाgrep -s "string" * .*
*, जिन्हें ग्लोबिंग के रूप में जाना जाता है। ग्लोबिंग.bashrcमें मानक जैसे डॉट के साथ शुरू होने वाले फ़ाइल नाम शामिल नहीं हैं । आप शेल विकल्प सेट कर सकते हैं ताकि इसमें ये फाइलें शामिल हों, लेकिन यदि आप नहीं जानते कि आप क्या कर रहे हैं, तो आप अपने आप को थोड़ा गड़बड़ कर सकते हैं। ग्लोबिंग को समझने के लिए एक अच्छा मार्गदर्शक यहां पाया जा सकता है mywiki.wooledge.org/glob