विंडोज़ मशीन पर फ़ाइलों में पाठ की एक स्ट्रिंग की खोज करने का सबसे तेज़ (सटीक) तरीका क्या है?


9

जैसा कि शीर्षक से पता चलता है, यह पता लगाने का सबसे तेज़ (सटीक) तरीका है कि कौन सी लाइनें किसी विशेष स्ट्रिंग से मेल खाती हैं।

विशेष रूप से, मैं खोज कर रहा हूं .cppऔर .hफाइलें।


जवाबों:


11

नोटपैड ++ में 'फाइल्स फाइल्स' ऑप्शन है, जो 'सर्च' मेन्यू में स्थित है। यह आपको एक फोल्डर में कई फाइल्स सर्च करने की सुविधा देगा (आप फोल्डर को निर्दिष्ट कर सकते हैं) और आपको प्रत्येक फाइल के लाइन नंबरों को भी दिखाएगा। । आप खोज में शामिल किए जाने वाले सबफ़ोल्डर और छिपे हुए फ़ोल्डर को टॉगल कर सकते हैं, और यह आपको \ t \ n इत्यादि के साथ और यदि आवश्यक हो तो नियमित अभिव्यक्ति के साथ खोज करने की अनुमति देगा।

नोटपैड ++ एक विंडोज प्रोग्रामर एडिटर (आईडीई नहीं) है और ओपन सोर्स भी है।

(मुझे पता है कि आपने नोटपैड ++ के बारे में सबसे अधिक सुना है, लेकिन मैं यहां इसका उल्लेख एक विकल्प के रूप में कर रहा हूं क्योंकि आप इस विशेष सुविधा से अनजान थे , और दूसरों के लिए जो इस थ्रेड पर बाद में ठोकर खाते हैं।

चियर्स :)


हाँ, मुझे मानना ​​होगा, मैंने इसके लिए नोटपैड ++ का उपयोग किया है।
जॉन केज

1
@JonCage वहाँ इस सूत्र में किसी को है sevenforums.com/software/... भी बोलता है कि आप की तरह कहा, "मैं मानता हूं" जब यह उपयोगी चीजें करने के लिए आता है। यह बोलने का एक बहुत ही अजीब तरीका है। आप उस व्यक्ति से मिलना चाह सकते हैं। शायद आपका जुड़वाँ।
बारलोप

नोटपैड ++ बहुत अच्छा है। SciTE जैसे अन्य प्रोग्रामर के संपादकों की कार्यक्षमता भी समान है।
टिमोथीविज़मैन


5

Findstrहमेशा मेरे लिए काम करता है। यह खोज स्ट्रिंग के लिए पाठ * वाइल्डकार्ड या रेगेक्स का उपयोग कर सकता है। Findstr /?अधिक जानकारी के लिए


5

यूनिक्स प्रणालियों पर लोग ऐसा करने के लिए सबसे अधिक संभावना grep का उपयोग करेंगे, तो विंडोज ग्रीप का उपयोग क्यों न करें?

http://www.wingrep.com/


विंडोज ग्रीप कभी भी अस्थिर हो सकता है, लेकिन यह सबसे तेज खोज कार्यक्रम है जिसका मैंने कभी उपयोग किया है।
याकूत

@yakatz विंडोज ग्रेप के साथ संभावित अस्थिरता का उल्लेख करने के लिए धन्यवाद, मैं एक अलग grep / प्रतिस्थापित टूल की तलाश करूंगा!
pacoverflow

विंग्रेप को बंद कर दिया गया है, हालांकि ग्रीपविन अभी भी उपलब्ध है और बहुत अच्छी तरह से काम करता है।
टेकर्ट टर्टल

3

यहाँ एक Powershell समाधान है:

gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString

-rमें gcirecurse के लिए है, और निश्चित रूप से वैकल्पिक है, के रूप में दो फाइल एक्सटेंशन फिल्टर कर रहे हैं। का एक उपयोगी पैरामीटर वह Select-Stringहै -listजो केवल एक फ़ाइल में मैच के पहले उदाहरण की रिपोर्ट करेगा, बजाय इसके कि आप इसे प्रत्येक फ़ाइल की घटना दें।

शायद आप प्रत्येक फ़ाइल को तुरंत खोलना चाहते हैं जहां एक मैच पाया जाता है? ठीक है, ऊपर दिए गए छोटे परिवर्तन काफी उपयोगी हैं, जो इस बात पर निर्भर करता है कि आपकी डिफ़ॉल्ट फ़ाइल एसोसिएशन क्या है:

gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString -list | ii


मैं एक ही बात पोस्ट करने वाला था :)
कालेब जेरेस

क्या आप वाकई -filter "*.cpp","*.h"कई एक्सटेंशन स्वीकार करते हैं? इसके बजाय पढ़ना चाहिए-include ("*.cpp","*.hpp")
mloskot

2

कुछ SW का स्थानीयकरण करते समय मैं DocFetcher का उपयोग पहले से अनुवादित फ़ाइलों में समान स्ट्रिंग्स को खोजने के लिए करता हूं । यह स्वतंत्र और खुला स्रोत है, लेकिन पहले सूचकांक बनाने की जरूरत है। कर के देखो। :-)


1

एम $ द्वारा प्रदान किए गए "स्ट्रिंग्स" का उपयोग करें । उन्होंने कुछ साल पहले Sysinternals से कुछ बहुत अच्छी उपयोगिताओं को खरीदा। स्थापना की आवश्यकता नहीं है, बस इसे बॉक्स पर छोड़ दें और इसे सिंटैक्स के लिए चलाएं। उपयोग करने के लिए आसान और महान!


1

grepप्रसिद्ध कछुआ svn डेवलपर्स द्वारा विंडोज के लिए एक और कार्यान्वयन:

grepWin


0

यदि आप कमांड लाइन पर / लिनक्स के साथ खुश हैं। क्या मैं विंडोज़ के लिए grep का एक संस्करण स्थापित करने का सुझाव दे सकता हूं?

साइबरविन उस बारे में प्राप्त करने के लिए एक काफी आसान तरीका है और आपको बैश शेल और आरएक्सवीटी टर्मिनल के साथ एक पूर्ण लिनक्स वातावरण देगा। अन्यथा यदि आप केवल उपकरण चाहते हैं तो वहाँ gnuwin32 है, लेकिन तब आप Windows cmd.exe प्रॉम्प्ट से अटके रहेंगे।

माइक्रोसॉफ्ट के पास वास्तव में डाउनलोड के रूप में यूनिक्स टूल का अपना संस्करण है , लेकिन जब मैंने उन्हें आज़माया तो वे ग्नू पोर्ट की तुलना में काफी धीमी लग रही थीं। वे उन्हें विंडोज 8 के साथ स्क्रैप करने जा रहे हैं।


0

यह है कि मैं अपने विंडोज एक्सपी मशीन पर विंडोज रजिस्ट्री या फाइलों में टेक्स्ट स्ट्रिंग्स की खोज कैसे करता हूं। मान लें कि मैं सी: ड्राइव पर एक सादे टेक्स्ट फ़ाइल में स्ट्रिंग "एंटरप्राइज" ढूंढना चाहता हूं, फिर आउटपुट को search_result.txt नामक फ़ाइल में c: \ windows \ temp में लिखें।

कमांड प्रॉम्प्ट खोलें फिर टाइप करें:

"एंटरप्राइज" c: *। txt> c: \ windows \ temp \ search_result.txt

आपके द्वारा खोजा जाने वाला स्ट्रिंग केस संवेदी है। "एंटरप्राइज" और "एंटरप्राइज" एक ही स्ट्रिंग नहीं पाएंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.