2013-08-02 5 views
8

पर रिकर्सिवली एक स्ट्रिंग खोजना मैं एक स्ट्रिंग को खोजना चाहता हूं उदा। विंडोज़ ओएस पर मेरे प्रोजेक्ट में "मुख्य" रिकर्सिवली। मैंने इसकी खोज की और समाधान Windows recursive grep command-lineविंडोज ओएस

मैंने दो अलग-अलग दृष्टिकोण के साथ लागू किया, और परिणाम अपेक्षित नहीं है।

उदा। मेरे दृष्टिकोण

findstr /S "main" *.cpp 

लेकिन मैं सिर्फ अपने मुख्य कार्य नहीं मिल रहा है जब मैं

findstr /S "int main" *.cpp 

चुनें। इन दो दृष्टिकोणों के बीच क्या अंतर है? अंतरिक्ष के साथ तार प्रदान करना गलत है?

+2

इसे 'सी ++' पर क्यों टैग किया गया है? – P0W

+1

@ पी 0 डब्ल्यू .. असल में मैं अपनी परियोजना में सी ++ फाइलों का उपयोग कर रहा हूं। यदि यह टैग के लायक नहीं है तो मैं इसे हटा सकता हूं। – someone

+0

@ कृष्णा और इसे पहले ही हटा दिया गया है! – P0W

उत्तर

14

ऐसा इसलिए है क्योंकि findstr खोजने के लिए तारों का सेट लेता है। वास्तव में स्ट्रिंग के मिलान int main आप /C विकल्प का उपयोग करने के लिए है:

findstr /s /C:"int main" *.cpp 

जबकि अपने संस्करण आप या तो int या main साथ हर पंक्ति देता है।

+0

@ जॉय ... धन्यवाद ... मुझे मेरा अपेक्षित परिणाम मिला ... – someone

1

पार्टी यहाँ करने के लिए देर हो गई, लेकिन अगर आप का उपयोग

findstr /S "int.main" *.cpp 

यह एक वाइल्ड कार्ड, जो एक अंतरिक्ष से मेल खाता है के रूप में डॉट व्यवहार करेगा, और जब तक आप कोई आपत्ति नहीं है के रूप में की तरह कुछ अनिवार्य मैचों (जो इस मामले में असंभव हैं) यह आपके लिए ठीक काम करेगा।

मैं इसका उपयोग करता हूं, ऊपर दिए गए उत्तरों को पढ़ने से पहले/सी: विकल्प के बारे में नहीं जानता।

संबंधित मुद्दे