सवाल Grep और फ़ाइल पैटर्न के साथ रिकर्सिव टेक्स्ट खोज


इस उदाहरण फ़ोल्डर संरचना को देखते हुए:

/folder1/file1.txt
/folder1/file2.djd
/folder2/file3.txt
/folder2/file2.fha

मैं सभी पर एक पुनरावर्ती पाठ खोज कैसे करूं? *.txt के साथ फाइलें grep "/" से?

("grep -r <pattern> *.txt" "/" से चलने पर विफल रहता है, क्योंकि वहां नहीं हैं .txt उस फ़ोल्डर में फाइलें।)


44
2018-05-19 11:38


मूल




जवाब:


जीएनयू ग्रेप के मेरे संस्करण के लिए एक स्विच है:

grep -R --include='*.txt' $Pattern

निम्नानुसार वर्णित है:

--include=GLOB

केवल उन फ़ाइलों को खोजें जिनके मूल नाम जीएलओबी से मेल खाते हैं (वाइल्डकार्ड मिलान का उपयोग करके - जैसा कि नीचे वर्णित है)।


58
2018-05-19 12:01





यदि आपके पास बड़ी संख्या में फाइलें हैं, तो 'तर्क सूची बहुत लंबी' त्रुटि से बचने के लिए आदेश में xargs को शामिल करना उपयोगी होगा।

find . -name '*.txt' -print | xargs grep <pattern>

18
2018-05-19 12:02



यदि किसी भी फ़ाइल या निर्देशिका नामों में रिक्त स्थान हैं, तो इस फ़ॉर्म का उपयोग करें: ढूंढें। -नाम '* .txt' -print0 | xargs -0 grep <pattern> - Jason Luther
और निश्चित रूप से फाइलनामों का मुद्दा है जो शुरू होता है -। - T.J. Crowder
grep तेज है find। - Nabi K.A.Z.


आप अपना उपयोग करने में सक्षम हो सकते हैं zshकी EXTENDED_GLOB विकल्प (डॉक्स)

grep <pattern> **/*.txt

1
2018-05-13 07:22



केवल अगर ओपी zsh का उपयोग कर रहा है, लेकिन फिर भी दिलचस्प है। - Law29


find . -name '*.txt' -type f -exec grep <pattern> {} \;

0
2018-05-19 11:43



हो सकता है कि आप "ढूंढें। -नाम '* .txt' -type f -exec grep <pattern> {} +" का उपयोग करना चाहें ताकि यह मार्क रॉबिन्सन के साथ कार्य को समान रूप से व्यवहार करे - केवल जीएनयू के साथ काम करता है मेरे ज्ञान को ढूंढता है - serverhorror


मनीस का जवाब प्रत्येक टेक्स्टफाइल के लिए एक नई grep-process काटा जाएगा। यदि आपके पास है बहुत सारे वहां टेक्स्टफाइल का, आप पहले हर फ़ाइल को grepping पर विचार कर सकते हैं और जब यह किया जाता है तो .txt-files चुनें:

grep -r <pattern> * | grep \.txt:

यह अधिक डिस्क-गहन है, लेकिन वैसे भी तेज़ हो सकता है।


0
2018-05-19 11:46





आप एएके पर एक नज़र रखना चाहते हैं http://betterthangrep.com, जिसमें फ़ाइल प्रकार द्वारा खोज करने के लिए फ़ाइलों का चयन करने की सुविधा है।


0
2018-05-03 16:54