अनजान लोगों के लिए, findstr जैसा पैटर्न खोज टूल बेकार लग सकता है। लेकिन सिस्टम-जनरेटेड लॉग फ़ाइलों या सैकड़ों पंक्तियों के टेक्स्ट वाले कमांड लाइन आउटपुट से निपटने पर, findstr वही टूल है जिसकी आपको आवश्यकता है।
Linux ऑपरेटिंग सिस्टम के उपयोगकर्ता पहले से ही Grep कमांड की अविश्वसनीय उपयोगिता से परिचित होंगे, और findstr Microsoft Windows में इसी तरह की भूमिका निभाता है। आप इसे पाइप का उपयोग करके अन्य कमांड के साथ जोड़ सकते हैं या कई टेक्स्ट फ़ाइलों के माध्यम से पार्स करने के लिए इसे सीधे चला सकते हैं। आइए देखें कि findstr कुछ उदाहरणों के साथ कैसे काम करता है।
Findstr कमांड का उपयोग करना
बुनियादी सिंटैक्स सरल है – findstr <स्ट्रिंग> <फ़ाइलपथ>, जहां <स्ट्रिंग> खोजने के लिए पैटर्न है, और <फ़ाइलपथ> खोजने के लिए फ़ाइल का पता है। कमांड प्रॉम्प्ट खोलें और इसे आज़माएं।
findstr SFC example1.txt
यह कमांड SFC खोज स्ट्रिंग वाली सभी पंक्तियों को ढूंढेगा और आउटपुट करेगा। ध्यान दें कि डिफ़ॉल्ट रूप से, findstr केस-संवेदनशील है, इसलिए SFC के किसी भी उल्लेख का मिलान नहीं होगा।
पैरामीटर
आप वैकल्पिक पैरामीटर शामिल करके findstr के काम करने के तरीके को और अनुकूलित कर सकते हैं। /B या /I जैसे स्विच findstr के व्यवहार को संशोधित करते हैं, खोज पर अतिरिक्त शर्तें लगाते हैं। उदाहरण के लिए:
findstr /I SFC example1.txt
/I को पैरामीटर के रूप में शामिल करने से खोज केस असंवेदनशील हो जाती है, जिससे सभी उल्लेखों का मिलान होता है, चाहे उनका पूंजीकरण कुछ भी हो। आप आधिकारिक Microsoft डॉक्स में findstr के सभी पैरामीटर की सूची पा सकते हैं।
वैकल्पिक पैटर्न
पैरामीटर findstr को अनुकूलित करने का एकमात्र तरीका नहीं हैं। <स्ट्रिंग> को उद्धरणों में संलग्न करना, उदाहरण के लिए, आपको कई पैटर्न निर्दिष्ट करने की अनुमति देता है, जिससे आपको मिलान मिलता है यदि कोई भी टेक्स्ट स्ट्रिंग मिलती है।
findstr "SFC DISM" example1.txt
उपरोक्त किसी भी शर्त वाली मिलान वाली पंक्तियों को लौटाएगा। यह तब उपयोगी होता है जब किसी भिन्न नाम वाली वस्तु का उल्लेख ढूंढ रहे हों।
नियमित अभिव्यक्तियाँ
Findstr कई फ़ाइलों के माध्यम से खोज करने में सक्षम है। <फ़ाइलपथ> को नियमित अभिव्यक्ति में बदलने से कमांड निर्दिष्ट पैटर्न में सभी फ़ाइलों में निर्दिष्ट पैटर्न की तलाश करता है।
findstr SFC *.txt
वाइल्डकार्ड वर्ण का उपयोग करने से रेगेक्स वर्तमान निर्देशिका और उसके उपनिर्देशिकाओं में सभी टेक्स्ट फ़ाइलों से मेल खाता है। परिणाम इसी तरह फ़ाइलनाम द्वारा अलग किए जाते हैं, जिससे आप देख सकते हैं कि कौन सी पंक्ति किस फ़ाइल से उत्पन्न हुई।
पाइप
अधिकांश cmd कमांड की तरह, findstr का उपयोग अन्य कमांड के आउटपुट पर भी किया जा सकता है। लक्ष्य कमांड के अंत में एक पाइप जोड़ें और <फ़ाइलपथ> के बिना findstr को आमंत्रित करें।
dir | findstr .txt
यह dir कमांड के आउटपुट पर findstr खोज चलाता है, .txt से समाप्त होने वाली फ़ाइल सूची लौटाता है। बेशक, यह विशेष उदाहरण व्यवहार में बेकार है क्योंकि dir पहले से ही नियमित अभिव्यक्ति के साथ उसी प्रकार की फ़ाइलों का पता लगा सकता है।
आउटपुट को टेक्स्ट फ़ाइल पर रीडायरेक्ट करने और फिर टेक्स्ट फ़ाइल पर findstr का उपयोग करने का लंबा रास्ता भी अपना सकते हैं, लेकिन बिचौलिए को काटना आसान है।
Windows में Findstr के अनुप्रयोग
Findstr के स्पष्ट उपयोग सिंटैक्स से ही स्पष्ट हैं। आप किसी विशिष्ट टेक्स्ट स्ट्रिंग वाली टेक्स्ट फ़ाइलों की तलाश कर सकते हैं या देख सकते हैं कि कोई विशेष स्ट्रिंग किसी फ़ाइल में समाहित है या नहीं।
यह, जबकि सैद्धांतिक रूप से उपयोगी, क्लाउड सेवाओं जैसे Google डॉक्स के युग में दुर्लभ मामलों के बाहर शायद ही उपयोग में आता है, अधिकांश लोगों के पास अब कई टेक्स्ट फ़ाइलें नहीं हैं।
Findstr के वास्तविक अनुप्रयोग थोड़े अधिक सूक्ष्म हैं और अधिक शक्तिशाली परिणाम शामिल करते हैं। यहां कुछ अधिक दिलचस्प उदाहरण हैं।
विशिष्ट प्रकार की फ़ाइलें ढूंढना
dir कमांड में पहले से ही नियमित अभिव्यक्तियों का उपयोग करके फ़ाइलनाम खोजने का विकल्प शामिल है। लेकिन findstr के साथ, आप अन्य विशेषताओं को साझा करने वाली फ़ाइलों को खोज सकते हैं, जैसे निर्माण का समय या तारीख।
मान लीजिए एक त्रुटि 06:43 PM पर हुई, और आप उस समय बनाई गई सभी लॉग फ़ाइलों का पता लगाना चाहते हैं। अकेले dir कमांड के साथ, आपको मैन्युअल रूप से परिणामों को छानना होगा या सभी लॉग फ़ाइलें प्राप्त करनी होंगी और उनकी तुलना करनी होगी। findstr का उपयोग करके, यह एक सरल कमांड बन जाता है।
dir | findstr 06:43
आप किसी विशेष तिथि पर बनाई गई फ़ाइलों को ढूंढने या निर्देशिकाओं की सूची प्राप्त करने के लिए वही ट्रिक आज़मा सकते हैं।
dir | findstr DIR
Netstat के साथ नेटवर्क जानकारी फ़िल्टर करना
Netstat एक आसान Windows कमांड है जो आपको आपके कंप्यूटर के नेटवर्क कनेक्शन के बारे में सभी जानकारी देता है—बहुत अधिक जानकारी, यहीं findstr काम आता है।
Netstat के आउटपुट को findstr में पाइप करने से आप विशिष्ट गुणों वाले कनेक्शन खोज सकते हैं। उदाहरण के लिए, यह है कि आप सभी स्थापित कनेक्शन की सूची कैसे प्राप्त कर सकते हैं।
netstat | findstr ESTABLISHED
यह ट्रिक नेटवर्क समस्याओं का निदान करते समय उपयोगी है। आप किसी एप्लिकेशन PID के साथ findstr का उपयोग करके किसी विशेष प्रक्रिया द्वारा खोले गए सभी कनेक्शन ढूंढ सकते हैं।
netstat -o | findstr 13120
विशिष्ट IP पते प्राप्त करना
ipconfig कमांड आपको सिस्टम के सभी नेटवर्क इंटरफेस का विवरण देखने देता है, जिसमें IP पते शामिल हैं। आप पूरे चीज़ को स्क्रॉल किए बिना findstr का उपयोग करके एक विशेष प्रकार का IP पता निकाल सकते हैं।
ipconfig | findstr Temporary
आप इस विधि को ipconfig से किसी भी जानकारी को प्राप्त करने के लिए विस्तारित कर सकते हैं, सबनेट मास्क से लेकर गेटवे पते तक।
स्क्रिप्ट फ़ाइलों का विश्लेषण करना
आप जिस भी प्रोग्रामिंग भाषा में कोड करते हैं, स्क्रिप्ट फ़ाइलें अंततः सिर्फ टेक्स्ट हैं। इसका मतलब है कि आप पूरे कोड को खंगाले बिना स्क्रिप्ट का विश्लेषण करने और विशिष्ट अनुभागों को पुनर्प्राप्त करने के लिए findstr का उपयोग कर सकते हैं।
मान लें कि हम किसी विशेष स्क्रिप्ट में if स्टेटमेंट का उपयोग कैसे किया गया है, यह देखना चाहते हैं। हम निम्न कमांड का उपयोग कर सकते हैं:
findstr if script.ahk
यह न केवल if स्टेटमेंट का उपयोग करने वाली पंक्तियों को प्रदर्शित करेगा, बल्कि यह हमें उपयोग किए गए एक्सप्रेशन भी दिखाएगा। आप लाइन नंबर प्रदर्शित करने के लिए /N पैरामीटर भी शामिल कर सकते हैं, जो स्क्रिप्ट फ़ाइलों के लिए बहुत आसान है।
findstr /N if script.ahk
क्या Findstr उपयोग करने लायक है?
कमांड लाइन इंटरफ़ेस को नेविगेट करने में मुख्य कठिनाई उस टेक्स्ट की मात्रा है जिसे छानने की आवश्यकता है। Findstr उपयोगी जानकारी निकालने और जंक को फ़िल्टर करने के लिए एक अनिवार्य टूल है।
चूंकि सभी टर्मिनल कमांड टेक्स्ट-आधारित आउटपुट देते हैं, findstr का उपयोग हमेशा प्रासंगिक डेटा का पता लगाने के लिए किया जा सकता है। नेटवर्क समस्याओं के निवारण से लेकर सही फ़ाइलें ढूंढने तक, हर क्रिया findstr के साथ अधिक कुशल हो जाती है।
अन्य कमांड के साथ इसकी तालमेल के बाहर भी, findstr टेक्स्ट फ़ाइलों की सामग्री को पार करने की क्षमता के लिए उपयोगी है। आप मशीन-जनरेटेड लॉग फ़ाइलों में विशिष्ट त्रुटियां ढूंढ सकते हैं या जटिल स्क्रिप्ट में कोड के अनुभाग पुनर्प्राप्त कर सकते हैं।
संक्षेप में, findstr किसी भी उन्नत Windows उपयोगकर्ता के शस्त्रागार में एक अनिवार्य टूल है, विशेष रूप से जो कमांड लाइन इंटरफ़ेस से परिचित होने का इरादा रखता है।