विंडोज के लिए grep टूल्स पर कोई सिफारिशें ? आदर्श रूप से जो 64-बिट ओएस का लाभ उठा सकते हैं।
मैं निश्चित रूप से साइगविन के बारे में जानता हूं , और पॉवरग्रैप भी पाया है , लेकिन मैं सोच रहा हूं कि क्या वहां कोई छिपे हुए रत्न हैं?
विंडोज के लिए grep टूल्स पर कोई सिफारिशें ? आदर्श रूप से जो 64-बिट ओएस का लाभ उठा सकते हैं।
मैं निश्चित रूप से साइगविन के बारे में जानता हूं , और पॉवरग्रैप भी पाया है , लेकिन मैं सोच रहा हूं कि क्या वहां कोई छिपे हुए रत्न हैं?
जवाबों:
(मैं अभी भी PowerGREP का प्रशंसक हूं, लेकिन मैं अब इसका उपयोग नहीं करता हूं।)
मुझे पता है कि आप पहले ही इसका उल्लेख कर चुके हैं, लेकिन PowerGREP कमाल है ।
मेरी कुछ पसंदीदा विशेषताएं हैं:
अब मुझे एहसास हुआ कि अन्य grep उपकरण उपरोक्त सभी कर सकते हैं। यह सिर्फ इतना है कि PowerGREP सभी कार्यक्षमता को एक बहुत ही आसानी से उपयोग होने वाले GUI में पैकेज करता है।
उन्हीं अद्भुत लोगों से, जो आपको RegexBuddy लाए और जिनके सामान से प्यार करने से मेरा कोई ताल्लुक नहीं है। (यह ध्यान दिया जाना चाहिए कि RegexBuddy में grep (विंडोज के लिए) का एक मूल संस्करण शामिल है और इसकी कीमत PowerGREP से बहुत कम है।)
FINDSTR काफी शक्तिशाली है, नियमित अभिव्यक्ति का समर्थन करता है और पहले से ही सभी विंडोज मशीनों पर होने के फायदे हैं।
c:\> FindStr /?
Searches for strings in files.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B Matches pattern if at the beginning of a line.
/E Matches pattern if at the end of a line.
/L Uses search strings literally.
/R Uses search strings as regular expressions.
/S Searches for matching files in the current directory and all
subdirectories.
/I Specifies that the search is not to be case-sensitive.
/X Prints lines that match exactly.
/V Prints only lines that do not contain a match.
/N Prints the line number before each line that matches.
/M Prints only the filename if a file contains a match.
/O Prints character offset before each matching line.
/P Skip files with non-printable characters.
/OFF[LINE] Do not skip files with offline attribute set.
/A:attr Specifies color attribute with two hex digits. See "color /?"
/F:file Reads file list from the specified file(/ stands for console).
/C:string Uses specified string as a literal search string.
/G:file Gets search strings from the specified file(/ stands for console).
/D:dir Search a semicolon delimited list of directories
strings Text to be searched for.
[drive:][path]filename
Specifies a file or files to search.
Use spaces to separate multiple search strings unless the argument is prefixed
with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.
Regular expression quick reference:
. Wildcard: any character
* Repeat: zero or more occurances of previous character or class
^ Line position: beginning of line
$ Line position: end of line
[class] Character class: any one character in set
[^class] Inverse class: any one character not in set
[x-y] Range: any characters within the specified range
\x Escape: literal use of metacharacter x
\<xyz Word position: beginning of word
xyz\> Word position: end of word
उदाहरण उपयोग: findstr text_to_find *
या पुनरावर्ती खोज करने के लिएfindstr /s text_to_find *
ग्रीपविन मुक्त और खुला स्रोत (GPL)
मैं grepWin का उपयोग कर रहा हूं जो एक कछुआ दोस्तों द्वारा लिखा गया था। विंडोज पर काम करता है ...
जुलाई 2013 को अपडेट करें:
एक और grep टूल जो अब मैं विंडोज पर हर समय उपयोग करता हूं, एस्ट्रोग्रेप है :
मुझे सिर्फ लाइन सर्च (यानी - कमांड लाइन grep का NUM-xt = NUM) से अधिक दिखाने की इसकी क्षमता अमूल्य है।
और यह तेज है। बहुत तेजी से, यहां तक कि गैर- एसएसडी ड्राइव वाले एक पुराने कंप्यूटर पर (मुझे पता है, वे इस हार्ड ड्राइव को कताई डिस्क के साथ करते थे , जिसे प्लेटर्स कहा जाता है , पागल सही?)
ये मुफ्त है।
यह पोर्टेबल (सरल ज़िप संग्रह खोलना है)।
मूल उत्तर अक्टूबर 2008
Gnu Grep ठीक है
आप इसे यहाँ उदाहरण के लिए डाउनलोड कर सकते हैं: ( साइट ftp )
सभी सामान्य विकल्प यहां हैं।
यही कारण है, के साथ संयुक्त gawk और xargs (इसमें 'लगता है', से GnuWin32 ), और तुम सच में आप की तरह स्क्रिप्ट यूनिक्स पर थे कर सकते हैं!
उन विकल्पों को भी देखें जिनका मैं पुनः उपयोग कर रहा हूं :
grep --include "*.xxx" -nRHI "my Text to grep" *
PowerShell का सेलेक्ट-स्ट्रिंग cmdlet v1.0 में ठीक था, लेकिन v2.0 के लिए काफी बेहतर है । Windows के हाल के संस्करणों में निर्मित PowerShell होने का अर्थ है कि यहां आपके कौशल हमेशा उपयोगी होंगे, बिना कुछ स्थापित किए।
चयन-स्ट्रिंग में नए पैरामीटर जोड़े गए : चयन-स्ट्रिंग cmdlet अब नए मापदंडों का समर्थन करता है, जैसे:
- -कनेक्ट: यह आपको मैच लाइन से पहले और बाद में लाइनों को देखने की अनुमति देता है
- -सभी नमूने: जो आपको एक पंक्ति में सभी मैच देखने की अनुमति देता है (पहले, आप एक पंक्ति में केवल पहला मैच देख सकते थे)
- -नोटमैच: grep -vo के बराबर
- -Encoding: वर्ण एन्कोडिंग निर्दिष्ट करने के लिए
मैं इसे एक समारोह बनाने के लिए समीचीन लगता है gcir
के लिए Get-ChildItem -Recurse .
स्मार्ट के साथ, पैरामीटर सही ढंग से पारित करने के लिए है, और किसी अन्य नाम ss
के लिए Select-String
। तो आप एक लिखें:
gcir * .txt | एसएस फू
ls . *.txt -r| sls -ca "SomeString"
sls
के लिए Select-String
वास्तव में बहुत लंबा?
यह वास्तव में 'grep' श्रेणी में नहीं आ सकता है, लेकिन मैं AgentRansack नामक उपयोगिता के बिना विंडोज पर प्राप्त नहीं कर सकता । यह एक gui- आधारित "फाइलों में खोज" है रेगेक्स समर्थन के साथ उपयोगिता। यह एक फ़ोल्डर पर राइट-क्लिक करने के लिए सरल है, "रैंसैक .." पर हिट करें और उन फ़ाइलों को ढूंढें, जिन्हें आप ढूंढ रहे हैं। बेहद तेज भी।
यह सवाल पूछे जाने के बाद से आपको कुछ साल हो गए हैं, लेकिन मैं एस्ट्रोग्रेप ( http://astrogrep.sourceforge.net ) की सिफारिश करूंगा ।
यह मुफ़्त है, खुला स्रोत है, और एक सरल इंटरफ़ेस है। मैं इसका उपयोग हर समय कोड को खोजने के लिए करता हूं।
PowerShell का उल्लेख कुछ बार किया गया है। यहां बताया गया है कि आप वास्तव में इसे किस तरह से उपयोग करेंगे:
Get-ChildItem -recurse -include *.txt | Select-String -CaseSensitive "SomeString"
यह SomeString
केस सेंसिटिविटी के लिए वर्तमान डायरेक्टरी ट्री में सभी टेक्स्ट फ़ाइलों को पुन: खोजता है ।
इससे भी बेहतर, इसे चलाएं:
function pgrep { param([string]$search, [string]$inc) Get-ChildItem -recurse -include $inc | Select-String -CaseSensitive $search }
फिर करो:
pgrep SomeStringToSearch *.txt
फिर इसे वास्तव में जादुई बनाने के लिए, अपने पावरशेल प्रोफ़ाइल में फ़ंक्शन उपनाम को जोड़ें और आप उचित अनुभाग टूल नहीं होने के दर्द को लगभग सुस्त कर सकते हैं।
Cygwin में grep शामिल है। यदि आप Cygwin स्थापित करते हैं, तो सभी GNU टूल, यूनिक्स के सामान पर काम करते हैं।
Windows पर git = cmd.exe में grep
मुझे अभी पता चला है कि Git को स्थापित करने से आपको कुछ बुनियादी लिनक्स कमांड मिलेंगे: बिल्ली, grep, scp और अन्य सभी अच्छे।
फिर इंस्टॉल करें अपने पेट में Git बिन फ़ोल्डर जोड़ें और फिर अपने cmd.exe में मूल लिनक्स कार्यक्षमता है!
dnGREP विंडोज के लिए एक ओपन सोर्स grep टूल है। यह सहित कई शांत सुविधाओं का समर्थन करता है:
IMHO, यह एक अच्छा और साफ इंटरफ़ेस भी है :)
मैं हमेशा WinGREP का उपयोग करता हूं , लेकिन मेरे पास इसके मुद्दे हैं जो फाइलों को जाने नहीं देते हैं।
खैर, GNU grep के विंडोज पोर्ट के बगल में:
http://gnuwin32.sourceforge.net/
वहाँ भी है Borland grep (GNU एक के समान) फ्रीवेयर Borland के फ्री C ++ कंपाइलर में उपलब्ध है (यह कमांड लाइन टूल के साथ एक फ्रीवेयर है)।
मैंने काफी समय से Win32 के लिए GNU उपयोगिताओं का सफलतापूर्वक उपयोग किया है और इसमें win32 के लिए एक अच्छा grep और पूंछ और अन्य उपयोगी ग्नू बर्तन हैं। मैं पैक किए गए शेल से बचता हूं और बस win32 कमांड प्रॉम्प्ट में निष्पादन योग्य का उपयोग करता हूं।
जिस टेल को पैक किया गया है वह काफी अच्छा एप्लीकेशन है।
मैं अबा खोज और प्रतिस्थापित का लेखक हूं । पावरग्रेप की तरह, यह रेगुलर एक्सप्रेशन, आगे उपयोग के लिए बचत पैटर्न, प्रतिस्थापन के लिए पूर्ववत, HTML / CSS / JS / PHP के लिए सिंटैक्स हाइलाइट के साथ पूर्वावलोकन, UTF-8 और UTF-16 सहित विभिन्न एन्कोडिंग का समर्थन करता है।
PowerGREP की तुलना में, GUI कम अव्यवस्थित है। अबा तुरंत खोज शुरू करता है क्योंकि आप पैटर्न (वृद्धिशील खोज) टाइप कर रहे हैं , इसलिए आप नियमित अभिव्यक्ति के साथ प्रयोग कर सकते हैं और तुरंत परिणाम देख सकते हैं।
मेरा उपकरण आज़माने के लिए आपका स्वागत है; मुझे किसी भी प्रश्न का उत्तर देने में खुशी होगी।
मैं विंडोज के लिए एक मुफ्त grep टूल चाहता था जो आपको एक फ़ोल्डर पर राइट क्लिक करने और हर फ़ाइल की regex खोज करने की अनुमति देता है - बिना किसी नाग स्क्रीन के।
निम्नलिखित एक त्वरित समाधान findstr
है जो पिछले पोस्ट में उल्लिखित है।
अपनी हार्ड ड्राइव पर कहीं एक टेक्स्ट फ़ाइल बनाएँ जहाँ आप लंबे समय तक रहने वाले उपकरण रखते हैं। .Bat या .cmd का नाम बदलें और इसमें निम्नलिखित पेस्ट करें:
@echo off
set /p term="Search term> "
del %temp%\grepresult.txt
findstr /i /S /R /n /C:"%term%" "%~1\*.*" > "%temp%\grepresult.txt"
start notepad "%temp%\grepresult.txt"
फिर SendTo फ़ोल्डर में ब्राउज़ करें। Windows 7 पर %APPDATA%\Microsoft\Windows\SendTo
बैच फ़ाइल के शॉर्टकट को उस SendTo फ़ोल्डर में ब्राउज़ करें और खींचें।
मैंने 1 GREP
इसे SendTo सूची में सबसे ऊपर रखने के लिए शॉर्टकट का नाम दिया ।
चीजें जो मैं इसके साथ करना चाहता हूं, findstr
वह कुछ के माध्यम से आउटपुट है जो एक html फ़ाइल उत्पन्न करेगा ताकि आप उस फ़ाइल को खोलने के लिए प्रत्येक आउटपुट लाइन पर क्लिक कर सकें। इसके अलावा, मुझे नहीं लगता कि यह फ़ोल्डरों के शॉर्टकट के साथ काम करता है। मुझे पैरामीटर का निरीक्षण करना होगा और देखना होगा कि इसमें ".lnk" है या नहीं।
मैंने सालों तक बोरलैंड के grep का इस्तेमाल किया लेकिन सिर्फ एक पैटर्न पाया कि यह मेल नहीं खाएगा। Eeeks। इन वर्षों में और क्या नहीं मिला? मैंने एक साधारण टेक्स्ट सर्च रिप्लेसमेंट लिखा है जो grep की तरह पुनरावृत्ति करता है - यह स्रोत फोर्ज पर FS.EXE है।
grep विफल ...
C:\DEV>GREP GAAPRNTR \SOURCE\TPALIB\*.PRG
<no results>
खिड़कियां ढलाई का काम ...
C:\DEV>FINDSTR GAAPRNTR \SOURCE\TPALIB\*.PRG
\SOURCE\TPALIB\TPGAAUPD.PRG:ffSPOOL(cRPTFILE, MEM->GAAPRNTR, MEM->NETTYPE)
\SOURCE\TPALIB\TPPRINTR.PRG: AADD(mPRINTER, TPACONFG->GAAPRNTR)
\SOURCE\TPALIB\TPPRINTR.PRG: IF TRIM(TPACONFG->GAAPRNTR) <> TRIM(mPRINTER[2])
\SOURCE\TPALIB\TPPRINTR.PRG: REPLACE TPACONFG->GAAPRNTR WITH mPRINTER[2]
मेरी पसंद का उपकरण उचित रूप से विंडोज ग्रेप नाम दिया गया है :
यदि आप विंडोज ग्रीप टूल का उपयोग करना चाहते हैं, तो मैंने पी-जीआरपी नामक एक फोन बनाया है जिसे मैंने अपनी वेबसाइट से मुफ्त डाउनलोड के लिए उपलब्ध कराया है: www.adjutantit.com - होम मेनू, डाउनलोड।
विंडोज ग्रीप में बड़ी संख्या में फाइलों के साथ समस्या थी, इसलिए मैंने अपना लिखा - जो अधिक विश्वसनीय लगता है। आप एक फ़ोल्डर का चयन कर सकते हैं, राइट क्लिक करें और इसे पी-ग्रीप पर भेजें। स्थापना के दौरान Sendto फ़ोल्डर अनपेड हो जाता है।
मैं सालों से AJC Grep का दैनिक उपयोग कर रहा हूं । केवल मुख्य सीमा मैंने पाया है कि फ़ाइल पथ 255 वर्णों तक सीमित हैं और यह बंद हो जाता है जब यह केवल एक चेतावनी जारी करने के बजाय एक का सामना करता है। यह कष्टप्रद है लेकिन बहुत बार ऐसा नहीं होता है।
मैं इसे 64-बिट विंडोज 7 अल्टीमेट पर उपयोग करता हूं, इसलिए इसकी 64-बिट क्रेडेंशियल्स ठीक हैं।
मैं इसे हमेशा के लिए उपयोग कर रहा हूं और सौभाग्य से यह अभी भी उपलब्ध है। यह सुपर फास्ट और बहुत छोटा है।
यदि आप में से कोई भी विलायक नहीं है, तो आप क्या ढूंढ रहे हैं, शायद आप FindStr के लिए एक रैपर लिख सकते हैं जो वास्तव में आपकी आवश्यकता है?
FindStr वैसे भी बहुत अच्छा है, इसलिए इसे बस एक GUI खटखटाया जाना चाहिए (यदि आप इसे चाहते हैं) और कुछ अतिरिक्त सुविधाएं प्रदान कर रहे हैं (जैसे कि इसे खोजने के लिए फ़ाइलों की गिनती खोजने के लिए जिसमें एक निर्दिष्ट स्ट्रिंग शामिल है [ऊपर])।
यह, निश्चित रूप से, आपको यह करने के लिए आवश्यकता, समय और झुकाव की आवश्यकता है!
मैंने अपनी मशीन पर Cygwin स्थापित किया है और अपने पर्यावरण पथ में Cygwin बिन निर्देशिका को रखा है, इसलिए Cygwin grep एक कमांड लाइन में सामान्य की तरह काम करता है जो इस समय grep के लिए मेरी सभी स्क्रिप्टिंग जरूरतों को हल करता है।