मैं एक निर्देशिका में सभी फ़ाइलों में पाठ की एक स्ट्रिंग की खोज करना चाहता हूं (और इसके उपनिर्देशिका नहीं; मुझे पता है कि -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