जवाबों:
एक कमांड-लाइन टूल है जिसे FINDSTR
सभी विंडोज़ एनटी-क्लास ऑपरेटिंग सिस्टम के साथ आता है ( FINDSTR /?
अधिक जानकारी के लिए कमांड प्रॉम्प्ट विंडो में टाइप करें) यह सब कुछ का समर्थन नहीं grep
करता है लेकिन यह आपकी आवश्यकताओं के लिए पर्याप्त हो सकता है।
netstat -n | FINDSTR 3389
PowerShell (Windows 7 / 2008R2 पर मानक के रूप में शामिल, XP / 2003 / Vista / 2008 के लिए वैकल्पिक) जिसमें select-string
इस उद्देश्य के लिए cmdlet शामिल है ।
GnuWin प्रोजेक्ट द्वारा विंडोज के लिए Grep (2014-10-02: यह पुराना है, नीचे टिप्पणी देखें)
जैसा कि उल्लेख किया गया है, ढलाई ठीक काम करती है। उदाहरण :
C:> दिर | विंडोज का पता लगाएं
11/06/2013 09:55 अपराह्न विंडोज
साइगविन grep और अधिक;)
मैंने GREP का उपयोग करने का एक और तरीका पाया, जैसे कि विंडोज 7 और इसके बाद के संस्करण में कार्यक्षमता स्थापित करने के लिए बिना किसी अतिरिक्त एप्लिकेशन को स्थापित किए और पुराने सिस्टम पर आप Powershell का उपयोग कर सकते हैं।
में Powershell , उपयोगकर्ता उपयोग कर सकते हैं कहाँ-वस्तु यह सुविधा का काफी व्यापक सेट है कि प्लस अधिक ग्रेप की सभी कार्यक्षमता प्रदान करता है।
आशा करता हूँ की ये काम करेगा।
मुझे आश्चर्य है कि किसी ने भी FINDSTR का उल्लेख नहीं किया है । मैं कोई grep पॉवरसुसर नहीं हूं, लेकिन कुछ प्राइमरी रेक्सक्स सपोर्ट वाले फाइल्स और स्टडीन को खोजने के लिए मुझे इसकी आवश्यकता होती है। विंडोज के साथ जहाज और वह सब। (संपादित करें: अच्छी तरह से किसी ने उल्लेख किया, यह देर हो चुकी है मुझे लगता है)
GnuWin32 ध्यान देने योग्य है, यह सभी मानक linux टूल्स का देशी Win32 संस्करण प्रदान करता है, जिसमें grep, फ़ाइल, sed, groff, indent, आदि शामिल हैं।
और यह लगातार अद्यतन किया जाता है जब इन उपकरणों के नए संस्करण जारी किए जाते हैं।
विंडोज पर मैं फ़ाइल खोज के लिए सुदूर प्रबंधक का उपयोग करता हूं । बीएसडी लाइसेंस प्राप्त, कंसोल में काम करता है, टाइपिंग cmdline मापदंडों पर समय बचाता है। यहां इसका खोज संवाद Alt-F7 द्वारा दिया गया है।
अद्यतन: जब यह प्रश्न मूल रूप से पूछा गया था, तो यह सच नहीं था, लेकिन अब Microsoft लिनक्स के लिए विंडोज सबसिस्टम को स्थापित करने देता है , और विंडोज तब gbp चलाएगा। PowerShell में, चलाएँ:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
एक उत्कृष्ट और बहुत तेज़ फ़ाइल खोज उपयोगिता, एजेंट रैंसैक , नियमित अभिव्यक्ति खोज का समर्थन करता है। यह मुख्य रूप से एक GUI उपयोगिता है, लेकिन एक कमांड-लाइन इंटरफ़ेस भी उपलब्ध है।
हालाँकि तकनीकी रूप से न तो grep और न ही कमांड लाइन, Microsoft विज़ुअल स्टूडियो और नोटपैड ++ दोनों में ही फुल एक्सप्रेशन सपोर्ट के साथ फाइल्स फ़ीचर में बहुत अच्छी जगह है। मैं खुद को अक्सर उनका उपयोग करते हुए पाता हूं, हालांकि मेरे पास कमांड लाइन पर grep का साइग्विन संस्करण भी उपलब्ध है।
मैं इस धागे में अपना $ 0.02 जोड़ूंगा। dnGREP उन विंडोज़ के लिए एक बेहतरीन ओपन सोर्स grep टूल है, जो पूर्ववत, विंडोज़ एक्सप्लोरर इंटीग्रेशन, PDF, ज़िप, DOCs और अन्य सामानों के गुच्छा के अंदर खोज का समर्थन करता है ...
हां, विंडोज पीसी के लिए केवल एक कार्यक्रम है जिसमें ठोस जीयूआई है और यह मेरे लिए आवश्यक उपयोग है। मैं एक डेवलपर के रूप में काम करता हूं और मेरे पास मौजूद हर कंप्यूटर पर, पहले XFind प्रोग्राम इंस्टॉल करें। यह 1997 में बनाया गया है और अब तक संस्करण 1.0 है और अब तक काम करता है और यह सबसे अच्छा है। अक्सर मुझे एक " .cs", " .aspx", " .sct" (विज़ुअल फॉक्सप्रो फॉर्म कोड फ़ाइल) या "" । * "और XFind सभी फाइलों को स्कैन करने और मुझे फाइलें दिखाने और दूसरी बड़ी चीज दिखाने की आवश्यकता होती है।" कि आप देख सकते हैं कि फ़ाइल में स्ट्रिंग कहाँ है। XFind में किसी प्रकार के संपादक भी हैं। यदि यह बाइनरी फ़ाइल है तो यह आपको स्ट्रिंग ढूंढेगी। इसे आज़माएँ और इसे हमेशा के लिए उपयोग करें यदि आप मेरे जैसे डेवलपर हैं।
आपने स्पष्ट रूप से बहुत सारी सिफारिशों को प्राप्त किया है।
Free, 3rd पार्टी यूटिलिटी के लिए मेरी व्यक्तिगत पसंद है: Agent Ransack
Agent Ransack डाउनलोड
अपने कुछ भ्रामक नाम के बावजूद, यह अच्छी तरह से काम करता है और इसका उपयोग विभिन्न प्रकार की फ़ाइलों को खोजने के लिए किया जा सकता है।
शुभ लाभ
ऑल-इन-वन बिजीबॉक्स में grep / egrep / sed / awk और MANY अधिक हैं
इसे प्राप्त करें:
अद्यतन: अब उपलब्ध नहीं है - या कुछ पुराने
यदि आपको भुगतान किए गए उत्पाद से कोई आपत्ति नहीं है, तो PowerGREP मेरा व्यक्तिगत पसंदीदा है।
हमने हाल ही में PowerGREP का उपयोग किया है हजारों फाइलों पर कुछ काफी उन्नत थोक संचालन के लिए । पीडीएफ फाइलों की सामग्री में रेगेक्स खोज, और लार्जस्केल में पीडीएफ दस्तावेजों को बदलना।
यदि आप मानव श्रम से समय बचाना चाहते हैं तो इसका मूल्य है। मुझे लगता है कि खरीदने से पहले आप इसे आज़मा सकते हैं।
जैसा कि ऊपर उल्लेख किया गया है, gnuwin32 परियोजना में grep का एक Windows CLI संस्करण है।
यदि आप एक ग्राफिकल इंटरफ़ेस के साथ कुछ चाहते हैं, तो मैं (ओपन-सोर्स) टूल एस्ट्रोएरेप की सिफारिश करूंगा ।
जब से मैंने उनका उपयोग किया है, तब से कुछ समय हो गया है, लेकिन बोरलैंड (अबबारकोडरो) ने अपने C / C ++ कंपाइलर के साथ कमांड लाइन grep शामिल किया है। कुछ समय के लिए, उन्होंने पंजीकरण के बाद अपने 5.5 संस्करण को मुफ्त डाउनलोड के रूप में उपलब्ध कराया है।
ओक रोड सिस्टम से एक वाणिज्यिक grep उपयोगिता उपलब्ध है ।
मैं पावरग्रेप की सलाह देता हूं
मुझे कई साल पहले एक ई-डिस्कवरी प्रोजेक्ट करना था। मैंने पाया कि fisdstr
कुछ सीमाएँ थीं, सबसे विशेष रूप से फ़िसड्रेस अंततः विफल हो जाएंगे
लिपि को दर्जनों खोज शब्दों / वाक्यांशों के एक जोड़े का उपयोग करके हज़ारों फाइलों में खोजना था।
साइग्विन के grep ने बहुत बेहतर काम किया , यह अक्सर चोक नहीं हुआ, लेकिन अंततः मैं PowerGrep में चला गया क्योंकि ग्राफिकल इंटरफ़ेस ने यह बताना आसान कर दिया कि यह कब और कहाँ दुर्घटनाग्रस्त हो गया, और यह भी सभी सशर्त और आउटपुट को संपादित करना वास्तव में आसान था मैं चाहता था। अंततः पावरग्रेप तीनों में सबसे विश्वसनीय था ।
मुझे पता है कि यह थोड़ा पुराना विषय है लेकिन, यहाँ एक और बात है जो आप कर सकते हैं। मैं एक डेवलपर वीएम पर काम करता हूं जिसमें कोई इंटरनेट एक्सेस नहीं है और काफी सीमित डिस्क स्थान है, इसलिए मैंने इस पर स्थापित जावा का उपयोग किया है।
छोटे जावा प्रोग्राम को संकलित करें जो रेगेक्स को कंसोल से मिलाता है। जार को अपने सिस्टम पर कहीं रखें, इसे निष्पादित करने के लिए एक बैच बनाएं और अपने PATH चर में फ़ोल्डर जोड़ें:
JGrep.java:
package com.jgrep;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JGrep {
public static void main(String[] args) throws FileNotFoundException, IOException {
int printGroup = -1;
if (args.length < 2) {
System.out.println("Invalid arguments. Usage:");
System.out.println("jgrep [...-MODIFIERS] [PATTERN] [FILENAME]");
System.out.println("Available modifiers:");
System.out.println(" -printGroup - will print the given group only instead of the whole match. Eg: -printGroup=1");
System.out.println("Current arguments:");
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]=" + args[i]);
}
return;
}
Pattern pattern = null;
String filename = args[args.length - 1];
String patternArg = args[args.length - 2];
pattern = Pattern.compile(patternArg);
int argCount = 2;
while (args.length - argCount - 1 >= 0) {
String arg = args[args.length - argCount - 1];
argCount++;
if (arg.startsWith("-printGroup=")) {
printGroup = Integer.parseInt(arg.substring("-printGroup=".length()));
}
}
StringBuilder sb = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
}
Matcher matcher = pattern.matcher(sb.toString());
int matchesCount = 0;
while (matcher.find()) {
if (printGroup > 0) {
System.out.println(matcher.group(printGroup));
} else {
System.out.println(matcher.group());
}
matchesCount++;
}
System.out.println("----------------------------------------");
System.out.println("File: " + filename);
System.out.println("Pattern: " + pattern.pattern());
System.out.println("PrintGroup: " + printGroup);
System.out.println("Matches: " + matchesCount);
}
}
c: \ jgrep \ jgrep.bat (jgrep.jar के साथ):
@echo off
java -cp c:\jgrep\jgrep.jar com.jgrep.JGrep %*
और c: \ jgrep जोड़ें पाथ पर्यावरण चर के अंत में ।
अब बस बुलाओ jgrep "expression" file.txt
कहीं से भी ।
मुझे अपनी अभिव्यक्ति से कुछ विशिष्ट समूहों को प्रिंट करने की आवश्यकता थी इसलिए मैंने एक संशोधक जोड़ा और इसे पसंद किया jgrep -printGroup=1 "expression" file.txt
।
मुझे इसके पुराने सवाल का एहसास है लेकिन मैं इस पोस्ट के जवाब में आया। और मैंने सामूहिक इंटरनेट मेमोरी के लिए इसे यहां जोड़ दिया है
पॉवर्सशेल: सेलेक्ट-स्ट्रिंग मॉड्यूल: Microsoft.PowerShell.Utility
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string
और उन्नत परीक्षाओं के साथ एक सूचनात्मक ब्लॉग पोस्ट: "कैसे PowerShell में" grep "" https://antjanus.com/blog/web-development-tutorials/how-to-grep-in-powershell "
उस ब्लॉग पोस्ट का एक सरल उदाहरण: cat package.json | Select-String -Pattern webpack ls ./src/compenders/ | चयन स्ट्रिंग स्ट्रिंग दृश्य
C:> कैट पोस्ट चयन-स्ट्रिंग -Pattern "^ \ w *:"
Cygwin का उपयोग करें ...
इसमें 32 और 64 बिट संस्करण हैं
और यह विंडोज 2000 (*)
से विंडोज 10 या सर्वर 2019 तक ठीक काम करता है
मैं लंबे समय से Cygwin का उपयोग करता हूं ...
और हाल ही में Windows-Linux-Subsystems के साथ स्थानापन्न करने का प्रयास किया गया है ...
लंबे समय के लिए नहीं ...
मैं जल्दी से फिर से सिग्विन वापस चला गया ...
बहुत अधिक लचीला, नियंत्रित और समृद्ध ...
कम घुसपैठ भी ...
बस पथ में \ bin जोड़ें ...
और आप इसे विंडोज / बैच / पॉवर्सशेल में ...
या किसी डॉस-बॉक्स में ... या एक पॉवर्सशेल-बॉक्स में उपयोग कर सकते हैं ...
इसके अलावा आप एक टन महान पैकेजों को स्थापित कर सकते हैं
जो वास्तव में काम करते हैं ... जैसे कि nginX या PHP ... मैं अपने मोबाइल में Cygwin PHP पैकेज का भी उपयोग करता हूं ...
बोनस वू के रूप में आप इसे बैश शेल से भी उपयोग कर सकते हैं ...
(मुझे लगता है कि यह मूल इरादा था; ;-))