Linux/Unix में, grep कमांड का उपयोग लॉग फ़ाइल में टेक्स्ट (स्ट्रिंग) या त्रुटियों को खोजने के लिए किया जाता है। Grep आपको किसी अन्य कमांड के आउटपुट में किसी भी डेटा को खोजने / चुनने की अनुमति देता है:
command | grep search
PowerShell में, आप चयन-स्ट्रिंग . का उपयोग कर सकते हैं फ़ाइल में टेक्स्ट स्ट्रिंग ढूँढने के लिए cmdlet।
उदाहरण के लिए, निम्न आदेश ERROR . वाली सभी पंक्तियों को प्रदर्शित करता है टेक्स्ट फ़ाइल या स्टडआउट में:
Select-String -Path c:\tmp\makeapp_sxtracesxs.txt -Pattern "ERROR"
कमांड ने उन पंक्तियों की संख्या को दिखाया है जिनमें वह टेक्स्ट है जिसे आप ढूंढ रहे हैं और उनका मान।
यदि आप सभी TXT
. में एक स्ट्रिंग खोजना चाहते हैं किसी विशिष्ट निर्देशिका में फ़ाइलें, नीचे कमांड चलाएँ:
Select-String -Path c:\tmp\*.txt -Pattern "ERROR"
यदि आप किसी फोल्डर में सभी फाइलों को खोजना चाहते हैं तो आप इस कमांड का उपयोग कर सकते हैं। उदाहरण के लिए, यह आदेश एक्सचेंज सर्वर पर परिवहन (एसएमटीपी) और संदेश ट्रैकिंग लॉग खोजने के लिए उपयोगी हो सकता है।
बहिष्कृत और शामिल विकल्पों का उपयोग करके, आप खोज के लिए कुछ फ़ाइलों को शामिल या बहिष्कृत कर सकते हैं। निम्न आदेश उन सभी TXT और लॉग फ़ाइलों में खोज करेगा जिनमें प्रतिलिपि शामिल नहीं है उनके नाम में:$path = "c:\tmp\*"
Select-String -Path $path -Pattern "ERROR" -Include "*.txt","*.log" -Exclude "*copy*"
पिछला उदाहरण केवल निर्दिष्ट निर्देशिका में पाठ की खोज करता है। नेस्टेड निर्देशिकाओं में फ़ाइलों को पुनरावर्ती रूप से खोजने के लिए, Get-ChildItem . का उपयोग करें सीएमडीलेट:
Get-ChildItem -Path 'c:\tmp\' -Recurse -include "*.mp3","*.avi" -ErrorAction SilentlyContinue | Select-String -SimpleMatch "ERROR","WARNING"