Computer >> कंप्यूटर >  >> प्रणाली >> Linux

Linux पर किसी फ़ाइल में एक विशिष्ट शब्द कैसे खोजें

Linux पर किसी फ़ाइल में एक विशिष्ट शब्द कैसे खोजें

डिफ़ॉल्ट रूप से, अधिकांश खोज उपकरण फ़ाइल नामों को देखते हैं, फ़ाइल सामग्री को नहीं। हालांकि, सबसे प्रसिद्ध GNU खोज कार्यक्रम, grep , सही झंडे वाली फाइलों के अंदर दिखेगा। यहां हम आपको दिखाएंगे कि आप Linux पर किसी फ़ाइल में विशिष्ट शब्द (शब्दों) को कैसे ढूंढ सकते हैं।

फ़ाइल में विशिष्ट शब्द खोजने के लिए grep का उपयोग करना

Linux पर किसी फ़ाइल में एक विशिष्ट शब्द कैसे खोजें

डिफ़ॉल्ट रूप से, grep फ़ाइलों की सामग्री के साथ-साथ उनके फ़ाइल नामों के माध्यम से खोज करता है। यह अधिकांश लिनक्स सिस्टम में शामिल है और आम तौर पर डिस्ट्रोस में समान है। उस ने कहा, छोटे या कम शक्तिशाली लिनक्स बॉक्स एक अलग कमांड चलाना पसंद कर सकते हैं, जैसे ack

फ़ाइल को एन्कोड करने के तरीके के आधार पर, grep हमेशा अंदर देखने में सक्षम नहीं हो सकता है। लेकिन अधिकांश टेक्स्ट-आधारित प्रारूपों के लिए, grep निर्दिष्ट पैटर्न के लिए फ़ाइल के टेक्स्ट को स्कैन कर सकता है।

grep -Rw '/path/to/search/' -e 'pattern'

-R ध्वज निर्दिष्ट निर्देशिका में निहित सभी निर्देशिकाओं के माध्यम से नेविगेट करते हुए, पुनरावर्ती मोड में grep सेट करता है। -w ध्वज पूरे शब्द मिलान के लिए खोज करता है। इसका मतलब यह है कि 'लाल' केवल 'लाल' से मेल खाएगा, जो व्हाइटस्पेस वर्णों से घिरा हुआ है और 'अनावश्यक' या 'थका हुआ' नहीं है। -e ध्वज खोज करने के लिए पैटर्न का प्रस्ताव करता है। यह डिफ़ॉल्ट रूप से रेगुलर एक्सप्रेशन का समर्थन करता है।

grep को गति देने के लिए, आप --exclude . का उपयोग कर सकते हैं और --include खोज को कुछ प्रकार की फाइलों तक सीमित करने के लिए झंडे। उदाहरण के लिए, --exclude=*.csv .csv एक्सटेंशन वाली किसी भी फाइल में खोज नहीं करेगा। --include=*.txt दूसरी ओर, केवल .txt एक्सटेंशन वाली फ़ाइलों में ही खोज करेगा। ध्वज को grep कमांड के तुरंत बाद जोड़ा जा सकता है, जैसा कि नीचे दिखाया गया है:

grep --exclude=*.csv -Rw '/path/to/search' -e 'pattern'

आप नीचे दिए गए प्रारूप का पालन करके निर्दिष्ट निर्देशिकाओं को भी बाहर कर सकते हैं:

grep --exclude-dir={dir1,dir2,*_old} -Rw '/path/to/search' -e 'pattern'

यह आदेश dir1, dir2 नाम की वर्तमान कार्यशील निर्देशिका में किसी निर्देशिका में खोज नहीं करेगा, या पैटर्न *_old से मेल खाते हुए, उन्हें खोज प्रक्रिया से हटा देगा। यह वर्तमान कार्यशील निर्देशिका में अन्य सभी फाइलों पर निर्दिष्ट पुनरावर्ती, पूर्ण-शब्द मिलान खोज को निष्पादित करेगा।

फ़ाइल में विशिष्ट शब्द ढूँढ़ने के लिए खोज का उपयोग करना

Linux पर किसी फ़ाइल में एक विशिष्ट शब्द कैसे खोजें

जबकि find कमांड का सिंटैक्स grep की तुलना में अधिक जटिल है, कुछ इसे पसंद करते हैं।

find . -name "*.php" -exec grep "pattern" {} \;

यह कमांड फाइंड के -exec . का उपयोग करेगा खोज के लिए मिली फ़ाइलों को grep में पास करने के लिए ध्वज। सिंटैक्स की एक चतुर व्यवस्था के साथ, आप उन विशिष्ट फ़ाइल प्रकारों का पता लगाने के लिए खोज की तेज़ फ़ाइल-सिस्टम खोज का उपयोग कर सकते हैं जिन्हें आप खोजना चाहते हैं, फिर फ़ाइलों के अंदर खोजने के लिए उन्हें grep पर पाइप करें।

ध्यान दें कि खोज केवल फ़ाइल नामों को देखता है, सामग्री को नहीं। इसलिए फ़ाइल टेक्स्ट और सामग्री को खोजने के लिए grep की आवश्यकता होती है। सामान्य grep झंडे -exec . के भीतर से पूरी तरह से चालू होने चाहिए झंडा।

एक फ़ाइल में विशिष्ट शब्द ढूँढ़ने के लिए ack का उपयोग करना

एके कमांड संभवतः सबसे तेज़ खोज उपकरण है, लेकिन यह उपरोक्त विकल्पों की तरह लोकप्रिय नहीं है। नीचे दिया गया आदेश वर्तमान निर्देशिका में खोज करेगा।

ack 'pattern'

यदि आप किसी विशिष्ट फ़ाइल या निर्देशिका में खोजना चाहते हैं, तो आप उस फ़ाइल या पूर्ण-योग्य पथनाम को अपनी खोज में जोड़ सकते हैं।

ack 'pattern' /path/to/file.txt

निष्कर्ष

अधिकांश स्थितियों में अधिकांश लोगों के लिए, grep व्यापक रूप से उपलब्ध सर्वोत्तम खोज उपकरण है। आप तेजी से खोज विकल्पों के लिए रिपग्रेप जैसे अन्य खोज टूल भी देख सकते हैं


  1. Linux में ज़िप फ़ाइलें कैसे निकालें

    ज़िप फ़ाइलें उतनी सामान्य नहीं हैं जितनी वे तब हुआ करती थीं जब डाउनलोड की गति धीमी थी और हर सहेजी गई बाइट मायने रखती थी। फिर भी, यह काफी सामान्य फ़ाइल प्रकार है। देर-सबेर आपको शायद एक खोलना पड़ेगा। आपके द्वारा उपयोग किए जाने वाले वितरण के आधार पर, ज़िप संग्रह को निकालना संभवतः काफी आसान है। फिर भी,

  1. Windows 10 में गुम फ़ाइलें कैसे खोजें

    एक मायावी फ़ाइल या प्रोग्राम की तलाश है? आपने जो खोया है उसे ढूंढने में Windows खोज आपकी मदद कर सकती है। खोज विंडोज और इसके इंटरफेस में गहराई से एकीकृत है। एक नई खोज शुरू करने के लिए, बस विन + एस कीबोर्ड शॉर्टकट दबाएं। आप जिस फ़ाइल की तलाश कर रहे हैं उसमें किसी ज्ञात शब्द या वर्णों के समूह के लिए ट

  1. लिनक्स पर किसी फ़ाइल को स्थायी रूप से कैसे हटाएं

    लिनक्स ऑपरेटिंग सिस्टम में, एक हटाई गई फ़ाइल ट्रैश में अपना रास्ता खोज लेती है। जब ट्रैश खाली हो जाता है, तो फ़ाइल सिस्टम से हटा दी जाती है। हालाँकि, पुनर्प्राप्ति सॉफ़्टवेयर की बढ़ती मांग के साथ, ट्रैश से हटाई गई फ़ाइलों को एक निश्चित सीमा तक पुनर्प्राप्त किया जा सकता है। इसका अर्थ है कि ट्रैश से न