जैसा कि शीर्षक से पता चलता है, यह पता लगाने का सबसे तेज़ (सटीक) तरीका है कि कौन सी लाइनें किसी विशेष स्ट्रिंग से मेल खाती हैं।
विशेष रूप से, मैं खोज कर रहा हूं .cpp
और .h
फाइलें।
जैसा कि शीर्षक से पता चलता है, यह पता लगाने का सबसे तेज़ (सटीक) तरीका है कि कौन सी लाइनें किसी विशेष स्ट्रिंग से मेल खाती हैं।
विशेष रूप से, मैं खोज कर रहा हूं .cpp
और .h
फाइलें।
जवाबों:
नोटपैड ++ में 'फाइल्स फाइल्स' ऑप्शन है, जो 'सर्च' मेन्यू में स्थित है। यह आपको एक फोल्डर में कई फाइल्स सर्च करने की सुविधा देगा (आप फोल्डर को निर्दिष्ट कर सकते हैं) और आपको प्रत्येक फाइल के लाइन नंबरों को भी दिखाएगा। । आप खोज में शामिल किए जाने वाले सबफ़ोल्डर और छिपे हुए फ़ोल्डर को टॉगल कर सकते हैं, और यह आपको \ t \ n इत्यादि के साथ और यदि आवश्यक हो तो नियमित अभिव्यक्ति के साथ खोज करने की अनुमति देगा।
नोटपैड ++ एक विंडोज प्रोग्रामर एडिटर (आईडीई नहीं) है और ओपन सोर्स भी है।
(मुझे पता है कि आपने नोटपैड ++ के बारे में सबसे अधिक सुना है, लेकिन मैं यहां इसका उल्लेख एक विकल्प के रूप में कर रहा हूं क्योंकि आप इस विशेष सुविधा से अनजान थे , और दूसरों के लिए जो इस थ्रेड पर बाद में ठोकर खाते हैं।
चियर्स :)
यूनिक्स प्रणालियों पर लोग ऐसा करने के लिए सबसे अधिक संभावना grep का उपयोग करेंगे, तो विंडोज ग्रीप का उपयोग क्यों न करें?
यहाँ एक Powershell समाधान है:
gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString
-r
में gci
recurse के लिए है, और निश्चित रूप से वैकल्पिक है, के रूप में दो फाइल एक्सटेंशन फिल्टर कर रहे हैं। का एक उपयोगी पैरामीटर वह Select-String
है -list
जो केवल एक फ़ाइल में मैच के पहले उदाहरण की रिपोर्ट करेगा, बजाय इसके कि आप इसे प्रत्येक फ़ाइल की घटना दें।
शायद आप प्रत्येक फ़ाइल को तुरंत खोलना चाहते हैं जहां एक मैच पाया जाता है? ठीक है, ऊपर दिए गए छोटे परिवर्तन काफी उपयोगी हैं, जो इस बात पर निर्भर करता है कि आपकी डिफ़ॉल्ट फ़ाइल एसोसिएशन क्या है:
gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString -list | ii
-filter "*.cpp","*.h"
कई एक्सटेंशन स्वीकार करते हैं? इसके बजाय पढ़ना चाहिए-include ("*.cpp","*.hpp")
कुछ SW का स्थानीयकरण करते समय मैं DocFetcher का उपयोग पहले से अनुवादित फ़ाइलों में समान स्ट्रिंग्स को खोजने के लिए करता हूं । यह स्वतंत्र और खुला स्रोत है, लेकिन पहले सूचकांक बनाने की जरूरत है। कर के देखो। :-)
यदि आप कमांड लाइन पर / लिनक्स के साथ खुश हैं। क्या मैं विंडोज़ के लिए grep का एक संस्करण स्थापित करने का सुझाव दे सकता हूं?
साइबरविन उस बारे में प्राप्त करने के लिए एक काफी आसान तरीका है और आपको बैश शेल और आरएक्सवीटी टर्मिनल के साथ एक पूर्ण लिनक्स वातावरण देगा। अन्यथा यदि आप केवल उपकरण चाहते हैं तो वहाँ gnuwin32 है, लेकिन तब आप Windows cmd.exe प्रॉम्प्ट से अटके रहेंगे।
माइक्रोसॉफ्ट के पास वास्तव में डाउनलोड के रूप में यूनिक्स टूल का अपना संस्करण है , लेकिन जब मैंने उन्हें आज़माया तो वे ग्नू पोर्ट की तुलना में काफी धीमी लग रही थीं। वे उन्हें विंडोज 8 के साथ स्क्रैप करने जा रहे हैं।
यह है कि मैं अपने विंडोज एक्सपी मशीन पर विंडोज रजिस्ट्री या फाइलों में टेक्स्ट स्ट्रिंग्स की खोज कैसे करता हूं। मान लें कि मैं सी: ड्राइव पर एक सादे टेक्स्ट फ़ाइल में स्ट्रिंग "एंटरप्राइज" ढूंढना चाहता हूं, फिर आउटपुट को search_result.txt नामक फ़ाइल में c: \ windows \ temp में लिखें।
कमांड प्रॉम्प्ट खोलें फिर टाइप करें:
"एंटरप्राइज" c: *। txt> c: \ windows \ temp \ search_result.txt
आपके द्वारा खोजा जाने वाला स्ट्रिंग केस संवेदी है। "एंटरप्राइज" और "एंटरप्राइज" एक ही स्ट्रिंग नहीं पाएंगे।