मैं foo=
एक निर्देशिका ट्री में पाठ फ़ाइलों में स्ट्रिंग की तलाश कर रहा हूं । यह एक आम लिनक्स मशीन पर है, मेरे पास बैश शेल है:
grep -ircl "foo=" *
निर्देशिका में कई बाइनरी फाइलें भी होती हैं जो "foo =" से मेल खाती हैं। जैसा कि ये परिणाम प्रासंगिक नहीं हैं और खोज को धीमा कर रहे हैं, मैं चाहता हूं कि इन फ़ाइलों (ज्यादातर JPEG और PNG छवियों) की खोज को छोड़ें। मुझे यह कैसे करना है?
मुझे पता है कि विकल्प --exclude=PATTERN
और --include=PATTERN
विकल्प हैं, लेकिन पैटर्न प्रारूप क्या है? Grep का मैन पेज कहता है:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
Grep पर खोज करना शामिल है , grep में शामिल नहीं है , grep को बाहर करना और भिन्न को प्रासंगिक कुछ भी नहीं मिला
यदि केवल कुछ फ़ाइलों में बेहतर तरीके से तैयारी है, तो मैं इसके लिए हूँ; आपत्तिजनक फाइलों को स्थानांतरित करना एक विकल्प नहीं है। मैं केवल कुछ निर्देशिकाओं को नहीं खोज सकता (निर्देशिका संरचना एक बड़ी गड़बड़ी है, हर जगह सब कुछ के साथ)। इसके अलावा, मैं कुछ भी स्थापित नहीं कर सकता, इसलिए मुझे सामान्य उपकरणों (जैसे grep या सुझाई गई खोज ) के साथ करना होगा।
--exclude-dir=.svn
, इसलिए grep उन सब में नहीं जाता है
grep -r --exclude-dir=var "pattern" .