2012-03-12 15 views
20

मेरे पास मेरे लिनक्स रिमोट सर्वर के तहत मेरे जावा एप्लिकेशन से संबंधित किसी विशेष निर्देशिका में लॉग फ़ाइलों की एक बड़ी सूची है।लिनक्स: निर्देशिका के अंतर्गत फ़ाइलों की सूची में एक विशेष शब्द की खोज करें

यह (लगभग 100 फ़ाइलें)

अब जब कि फ़ाइलों की सूची में, मैं किसी विशेष शब्द पता लगाने के लिए की जरूरत है फ़ाइलों की एक सूची से पता चलता जब मैं उस विशेष निर्देशिका पर ls करते हैं, कृपया मुझे बताओ, कैसे क्या मैं यह कर सकता हूं ??

समस्या यह है कि मैं हर फ़ाइल है कि शब्द/

का उपयोग कर मैं कैसे प्रदान की फ़ाइलों की सूची में एक शब्द के लिए खोज सकते कृपया मुझे बताओ के लिए खोज नहीं खोल सकते हैं और कर सकते हैं।

+0

संभव डुप्लिकेट अधिक लाभ उठाएं [linux + निर्देशिका के अंतर्गत लेकिन जल्दी फ़ाइल में शब्द खोजने] (http: // stackoverflow।कॉम/प्रश्न/2 9 65050/लिनक्स-खोज-शब्द-इन-फाइल-अंडर-डायरेक्टरी-लेकिन-तेज़ी से) – Shahbaz

+0

मेरा मतलब है, वास्तव में डुप्लिकेट नहीं है, लेकिन उत्तर भी है, जो संबंधित प्रश्नों में आसानी से पाया जा सकता है। – Shahbaz

उत्तर

25

grep इसके लिए बनाया गया है।

उपयोग grep myword *

और man grep की जाँच करें।

8

यह लिनक्स में एक बहुत ही लगातार कार्य है। मैं grep -rn '' का उपयोग करता हूं। ऐसा करने के लिए हर समय। -आर रिकर्सिव (फ़ोल्डर और उपफोल्डर्स) के लिए -n इसलिए यह लाइन नंबर देता है, डॉट वर्तमान निर्देशिका के लिए खड़ा है।

grep -rn '<word or regex>' <location> 

अधिक विकल्प

1

भी आप निम्नलिखित कोशिश कर सकते हैं के लिए एक

man grep 

है।

find . -name '*.java' -exec grep "<yourword" /dev/null {} \; 

यह जावा विस्तार और प्रत्येक फ़ाइल में खोजें 'yourword' के साथ सभी फ़ाइलों को हो जाता है, अगर यह प्रस्तुत करता है, यह फ़ाइल सूचीबद्ध करता है।

आशा है कि यह मदद करता है :)

31

आप इस आदेश का उपयोग कर सकते हैं: आप क्लब के रूप में इस कार्यकारी के साथ मिल सकता है पुनरावर्ती

0

के लिए फ़ाइल नाम आर के साथ लाइन संख्या दिखाने के लिए

grep -rn "string" * 

n फ़ाइलों की सूची प्राप्त करने के साथ-साथ उस शब्द/स्ट्रिंग की घटना प्राप्त करने के लिए जो आप

find . -exec grep "my word" '{}' \; -print 
संबंधित मुद्दे