क्या आपने कभी FINDSTR . के बारे में सुना है और चयन-स्ट्रिंग ? Select-String एक cmdlet है जिसका उपयोग टेक्स्ट और पैटर्न को इनपुट स्ट्रिंग्स और फाइलों में खोजने के लिए किया जाता है। यह लिनक्स पर grep और विंडोज़ पर FINDSTR के समान है। इस गाइड में, हम देखते हैं कि FINDSTR . का क्या और कैसे उपयोग करना है और चयन-स्ट्रिंग विंडोज 11/10 में कमांड।
FINDSTR क्या है और FINDSTR का उपयोग कैसे करें
FINDSTR एक कमांड है जिसका उपयोग विंडोज़ पर फाइलों में विशिष्ट टेक्स्ट खोजने के लिए किया जाता है। फाइंड स्ट्रिंग जब शॉर्ट में रखा जाए तो FINDSTR बन गया। इसका उपयोग विशिष्ट टेक्स्ट वाली फ़ाइलों को खोजने के लिए भी किया जाता है। विभिन्न कार्यों को करने के लिए विभिन्न FINDSTR कमांड हैं। इसे सबसे पहले विंडोज 2000 रिसोर्स किट के साथ qgrep . नाम से जारी किया गया था . यह विंडोज में एक बिल्ट-इन टूल है और इसकी फाइल .exe फॉर्मेट में उपलब्ध है। FINDSTR यूनिकोड प्रारूप में रिक्त बाइट जैसे रिक्त स्थान की खोज नहीं करता है।
कमांड प्रॉम्प्ट या अन्य कमांड लाइन दुभाषियों पर फाइंडस्ट्र कमांड का उपयोग करने के लिए कुछ बुनियादी नियम हैं, जिन्हें माइक्रोसॉफ्ट द्वारा विकसित किया गया है। वे हैं:
- प्रत्येक FINDSTR कमांड में फ़ाइल नाम के बाद एक स्ट्रिंग होनी चाहिए।
- FINDSTR कमांड में आप शाब्दिक वर्णों और मेटा-वर्णों का उपयोग कर सकते हैं। वाक्य रचना में शाब्दिक वर्णों का कोई विशेष अर्थ नहीं होता है। अक्षरों और संख्याओं को शाब्दिक वर्ण कहा जाता है। मेटा-कैरेक्टर ऐसे प्रतीक हैं जिनके प्रत्येक के लिए विशिष्ट अर्थ हैं। सिंटैक्स और उनके अर्थों में स्वीकृत मेटा-कैरेक्टर निम्नलिखित हैं।
मेटा-वर्ण वें> <थ चौड़ाई="669">मान वें> | |
---|---|
. | वाइल्डकार्ड - कोई भी पात्र |
* | दोहराएं - पिछले वर्ण या वर्ग की शून्य या अधिक बारंबारता। |
^ | शुरुआती लाइन की स्थिति - लाइन की शुरुआत। |
$ | पंक्ति की अंतिम स्थिति - पंक्ति का अंत। |
[class] | चरित्र वर्ग - सेट में कोई एक वर्ण। |
[^class] | उलटा वर्ग - कोई भी एक वर्ण जो सेट में नहीं है। |
[x-y] | रेंज - निर्दिष्ट सीमा के भीतर कोई भी वर्ण। |
\x | एस्केप - मेटा-कैरेक्टर का शाब्दिक उपयोग। |
\ | शुरुआती शब्द स्थिति - शब्द की शुरुआत। |
string\> | शब्द स्थिति समाप्त करना - शब्द का अंत। |
- जब आप एकाधिक स्ट्रिंग्स खोजना चाहते हैं, तो आपको एक अलग लाइन पर खोज मापदंड के साथ एक टेक्स्ट फ़ाइल बनानी चाहिए।
- स्ट्रिंग्स के बीच रिक्त स्थान का उपयोग
/c
वाले सिंटैक्स को छोड़कर एकल कमांड में एकाधिक स्ट्रिंग्स को खोजने के लिए करें ।
पैरामीटर और फाइंडस्ट्र सिंटैक्स में उनका अर्थ
पैरामीटर वें> <थ चौड़ाई="777">विवरण वें> | |
---|---|
/b | पाठ पैटर्न से मेल खाता है यदि यह एक पंक्ति की शुरुआत में है। |
/e | पाठ पैटर्न से मेल खाता है यदि यह एक पंक्ति के अंत में है। |
/l | सर्च स्ट्रिंग्स को शाब्दिक रूप से प्रोसेस करता है। |
/r | सर्च स्ट्रिंग्स को रेगुलर एक्सप्रेशन के रूप में प्रोसेस करता है। यह डिफ़ॉल्ट सेटिंग है। |
/s | वर्तमान निर्देशिका और सभी उपनिर्देशिकाओं को खोजता है। |
/i | स्ट्रिंग की खोज करते समय वर्णों के मामले को अनदेखा कर देता है। |
/x | बिल्कुल मेल खाने वाली पंक्तियों को प्रिंट करता है। |
/v | केवल उन्हीं पंक्तियों को प्रिंट करता है जिनमें कोई मेल नहीं है। |
/n | मेल खाने वाली प्रत्येक पंक्ति की पंक्ति संख्या प्रिंट करता है। |
/m | फ़ाइल का नाम केवल तभी प्रिंट करता है जब किसी फ़ाइल में कोई मेल हो। |
/o | हर मेल खाने वाली लाइन से पहले कैरेक्टर ऑफ़सेट प्रिंट करता है। |
/p | गैर-मुद्रण योग्य वर्णों वाली फ़ाइलों को छोड़ देता है। |
/off[line] | उन फ़ाइलों को नहीं छोड़ता जिनमें ऑफ़लाइन विशेषता सेट है। |
/f: | निर्दिष्ट फ़ाइल से एक फ़ाइल सूची प्राप्त करता है। |
/c: | निर्दिष्ट टेक्स्ट को एक शाब्दिक खोज स्ट्रिंग के रूप में उपयोग करता है। |
/g: | निर्दिष्ट फ़ाइल से खोज स्ट्रिंग प्राप्त करता है। |
/d: | निर्देशिकाओं की निर्दिष्ट सूची की खोज करता है। प्रत्येक निर्देशिका को अर्धविराम (;) से अलग किया जाना चाहिए, उदाहरण के लिए |
/a: | दो हेक्साडेसिमल अंकों के साथ रंग विशेषताओं को निर्दिष्ट करता है। टाइप करें |
फ़ाइल नाम में खोजने के लिए टेक्स्ट निर्दिष्ट करता है . आवश्यक है। | |
[\ | खोज करने के लिए स्थान और फ़ाइल या फ़ाइलों को निर्दिष्ट करता है। कम से कम एक फ़ाइल नाम आवश्यक है। |
/? | कमांड प्रॉम्प्ट पर सहायता प्रदर्शित करता है। |
findstr कमांड का उपयोग
1] फ़ाइल x.y में Microsoft या windows शब्द खोजने के लिए, आपको इसका उपयोग करना चाहिए:
findstr microsoft windows x.y
2] फ़ाइल x.y में Microsoft विंडोज़ शब्द खोजने के लिए, आपको इसका उपयोग करना चाहिए:
findstr /c:"microsoft windows" x.y
उपरोक्त कमांड में /c
फ़ाइल में निर्दिष्ट पाठ "माइक्रोसॉफ्ट विंडोज़" को खोजने के लिए प्रयोग किया जाता है।
3] यदि आप टेक्स्ट फ़ाइल twc.txt में बड़े अक्षर वाले Microsoft शब्द की पुनरावृत्तियों को खोजना चाहते हैं, तो आपको इसका उपयोग करना चाहिए:
findstr Microsoft twc.txt
4] यदि आप टाइप केसों को महत्व दिए बिना किसी निर्देशिका और उसकी उप-निर्देशिकाओं में एक विशिष्ट शब्द Microsoft खोजना चाहते हैं, तो इसका उपयोग करें:
findstr /s /i Microsoft *.*
उपरोक्त सिंटैक्स में, /s
वर्तमान निर्देशिका और उसकी उप-निर्देशिकाओं को खोजने के लिए उपयोग किया जाता है। /i
Microsoft स्ट्रिंग में टाइप केस (कैपिटल एम) को अनदेखा करने के लिए उपयोग किया जाता है।
5] यदि आप उन पंक्तियों को खोजना चाहते हैं जो शब्द से पहले कई रिक्त स्थान के साथ शुरू होती हैं और उस पंक्ति संख्या को प्रदर्शित करना चाहते हैं जहां स्ट्रिंग्स हुई हैं, तो इसका उपयोग करें:
findstr /b /n /r /c:^ *To *.bas
6] यदि आप stringlist.txt में खोज मापदंड के साथ कई फाइलों में कई स्ट्रिंग्स की खोज करना चाहते हैं और filelist.txt में फाइलों की सूची चाहते हैं और आप फ़ाइल result.out में संग्रहीत परिणाम देखना चाहते हैं, तो उपयोग करें:
findstr /g:stringlist.txt /f:filelist.txt > results.out
7] यदि आप उन फाइलों को खोजना चाहते हैं जिनमें किसी विशेष निर्देशिका और उसकी उप-निर्देशिकाओं में thewindowsclub शब्द है, तो इसका उपयोग करें:
findstr /s /i /m \<thewindowsclub\> *.*
8] यदि आप उन फाइलों को खोजना चाहते हैं जिनमें थीसिस, थर्मामीटर आदि से शुरू होने वाले विंडो क्लब और अन्य शब्द शामिल हैं, तो इसका उपयोग करें:
findstr /s /i /m \<the.* *.*
ये ऐसे तरीके हैं जिनसे आप कमांड लाइन दुभाषियों जैसे कमांड प्रॉम्प्ट, आदि में फाइंडस्ट्र कमांड का उपयोग कर सकते हैं। आपको हर पैरामीटर और उसके कार्य के साथ-साथ मेटा-कैरेक्टर और सिंटैक्स लिखने के लिए उनके अर्थ को समझना होगा और नियमित रूप से फाइंडस्ट्र कमांड का उपयोग करना होगा।पी>
चयन-स्ट्रिंग क्या है और इसके पैरामीटर क्या हैं
कल्पना कीजिए कि आप पावरशेल में कोड के टुकड़े लिख रहे हैं और आपने उस पावरशेल फ़ाइल में कुछ स्ट्रिंग्स और टेक्स्ट का ट्रैक खो दिया है। आपको हजारों स्ट्रिंग्स और शब्दों के भीतर कोड की कई हज़ार पंक्तियों में इसे खोजने की आवश्यकता है। सेलेक्ट-स्ट्रिंग कमांड आता है जो आपको उन पॉवरशेल इनपुट फाइलों में स्ट्रिंग्स और टेक्स्ट की खोज करने देता है। यह Linux पर grep के समान है।
सेलेक्ट-स्ट्रिंग एक cmdlet है जिसका उपयोग टेक्स्ट और पैटर्न को इनपुट स्ट्रिंग्स और फाइलों में खोजने के लिए किया जाता है। यह लिनक्स पर grep और विंडोज़ पर FINDSTR के समान है। जब कुछ पाठ की खोज के लिए चयन-स्ट्रिंग का उपयोग किया जाता है, तो यह प्रत्येक पंक्ति में पहला मिलान ढूंढता है और फ़ाइल का नाम, रेखा संख्या और पूरी पंक्ति प्रदर्शित करता है जहां मिलान हुआ। इसका उपयोग प्रति पंक्ति एकाधिक मिलान ढूंढने या मिलान से पहले या बाद में टेक्स्ट प्रदर्शित करने के लिए किया जा सकता है, या सही या गलत जैसे बूलियन अभिव्यक्तियों में परिणाम प्राप्त करने के लिए उपयोग किया जा सकता है। आप इसका उपयोग कमांड में आपके द्वारा उपयोग किए जाने वाले एक्सप्रेशन के मिलान को छोड़कर सभी टेक्स्ट को प्रदर्शित करने के लिए भी कर सकते हैं। FINDSTR में आपके द्वारा उपयोग किए जाने वाले वाइल्डकार्ड का उपयोग Select-String में भी किया जा सकता है। साथ ही, Select-String विभिन्न फ़ाइल एन्कोडिंग जैसे ASCII, यूनिकोड, आदि के साथ काम करता है। यह फ़ाइल एन्कोडिंग को निर्धारित करने के लिए बाइट-ऑर्डर-मार्क (BOM) का उपयोग करता है। यदि फ़ाइल में BOM गुम है, तो Select-String फ़ाइल को UTF8 मान लेगा।
चयन-स्ट्रिंग के पैरामीटर
माइक्रोसॉफ्ट ने नीचे दिए गए मापदंडों की कल्पना और विकास किया है जिनका उपयोग वाक्य रचना में किया जाएगा।
-AllMatches
इसका उपयोग सभी मैचों को एक पंक्ति में खोजने के लिए किया जाता है, जैसा कि सिलेक्ट-स्टिंग लाइन में पहले मैच के विपरीत सामान्य रूप से होता है।
-CaseSensitive
यह दर्शाता है कि मैच केस-संवेदी है। डिफ़ॉल्ट रूप से, चयन-स्ट्रिंग केस-संवेदी नहीं है।
-Context
इसका उपयोग मैच की लाइन से पहले और बाद में आपके द्वारा दर्ज की गई निर्दिष्ट संख्या को कैप्चर करने के लिए किया जाता है। यदि आप 1 दर्ज करते हैं, तो यह मैच से पहले और बाद में एक पंक्ति को कैप्चर करता है।
-Culture
कोडिंग में कुछ निश्चित संस्कृतियां होती हैं जैसे क्रमसूचक, अपरिवर्तनीय आदि। इस पैरामीटर का उपयोग सिंटैक्स में संस्कृति को निर्दिष्ट करने के लिए किया जाता है।
-Encoding
इसका उपयोग ASCII, UTF8, UTF7, यूनिकोड, आदि जैसी फाइलों में टेक्स्ट के एन्कोडिंग प्रारूप को निर्दिष्ट करने के लिए किया जाता है।
-Exclude
इस पैरामीटर का उपयोग फ़ाइल में कुछ पाठ को बाहर करने के लिए किया जाता है।
-Include
इस पैरामीटर का उपयोग फ़ाइल में कुछ टेक्स्ट को शामिल करने के लिए किया जाता है।
-InputObject
इसका उपयोग खोजे जाने वाले टेक्स्ट को निर्दिष्ट करने के लिए किया जाता है।
-List
इसका उपयोग टेक्स्ट से मेल खाने वाली फाइलों की सूची को पुनः प्राप्त करने के लिए किया जाता है।
-LiteralPath
इसका उपयोग खोज के लिए पथ निर्दिष्ट करने के लिए किया जाता है।
-NoEmphasis
आम तौर पर, चयन-स्ट्रिंग फ़ाइल में मिलान को हाइलाइट करता है। हाइलाइटिंग से बचने के लिए इस पैरामीटर का उपयोग किया जाता है।
-NotMatch
इसका उपयोग उस टेक्स्ट को खोजने के लिए किया जाता है जो निर्दिष्ट पैटर्न से मेल नहीं खाता।
-Path
इसका उपयोग वाइल्डकार्ड के उपयोग के साथ-साथ खोजे जाने वाले पथ को निर्दिष्ट करने के लिए किया जाता है।
-Pattern
प्रत्येक पंक्ति में एक पैटर्न के रूप में मिलान खोजने के लिए पैरामीटर का उपयोग किया जाता है।
-Quiet
इस पैरामीटर का उपयोग बूलियन मानों जैसे सही या गलत में आउटपुट प्राप्त करने के लिए किया जाता है।
-Raw
इसका उपयोग मिलान जानकारी के बजाय केवल मेल खाने वाली वस्तुओं को देखने के लिए किया जाता है।
-SimpleMatch
पैरामीटर का उपयोग रेगुलर एक्सप्रेशन मिलान के बजाय एक साधारण मिलान निर्दिष्ट करने के लिए किया जाता है।
FINDSTR और Select-String के बीच अंतर
FINDSTR एक पूर्व-पॉवरशेल युग निष्पादन योग्य फ़ाइल है जिसका उपयोग फ़ाइलों में टेक्स्ट और स्ट्रिंग्स को खोजने के लिए किया जाता है। Select-String एक PowerShell cmdlet है जिसका उपयोग फ़ाइलों में टेक्स्ट और पैटर्न खोजने के लिए किया जाता है। FINDSTR की तुलना में, Select-String अधिक शक्तिशाली और जटिल cmdlet है जो मैच के बारे में बहुत सारी जानकारी प्रदर्शित करता है।
जीआरपी के बराबर पॉवरशेल क्या है?
सेलेक्ट-स्ट्रिंग विंडोज पर उपलब्ध grep के बराबर पावरशेल है। यह उसी तरह काम करता है जैसे grep करता है और यह हमारे द्वारा सिंटैक्स में उपयोग किए जाने वाले मापदंडों के अनुसार मैच के बारे में विस्तृत जानकारी देता है।
क्या FINDSTR Word फ़ाइलों पर काम करता है?
हां, FINDSTR वर्ड फाइलों पर काम करता है। लेकिन यह मेल नहीं ढूंढ सकता, भले ही आपके द्वारा दर्ज किए गए तार फ़ाइल में हों। यह आपको कुछ अज्ञात तकनीकी कारणों से .doc फ़ॉर्मेट में बाइनरी फ़ाइलों में परिणाम दे सकता है लेकिन .docx स्वरूपों में नहीं।
संबंधित पढ़ें :विंडोज़ में पावरशेल संस्करण की जांच कैसे करें।