कौन सी फ़ाइल खोज उपयोगिताओं में पाया लाइनों का पूर्वावलोकन भी शामिल है?


2

मैंने इसके लिए खोज की है और इसे नहीं पाया है, शायद मैं सही शब्दों का उपयोग नहीं कर रहा हूं। मैं विंडोज 7 में एक फ़ाइल खोज उपयोगिता की तलाश कर रहा हूँ जो:

  • विशिष्ट निर्देशिकाओं में फ़ाइलों की खोज करें
  • फ़ाइल सामग्री के लिए खोज
  • पाया लाइनों का पूर्वावलोकन (अधिमानतः लाइन के आसपास कुछ लाइनों के साथ)
  • प्रीसेट के रूप में खोज शब्द सहेजें (जैसे * .aspx.cs या * .cs या दो का संयोजन)
  • कार्यालय दस्तावेजों में खोज

नोटपैड ++ ऐसा करेगा, लेकिन मैं कुछ ऐसा ढूंढ रहा हूं जो अनुक्रमण को भी जोड़ता है इसलिए यह तेज है। Locate32 इसका अधिकांश भाग करता है, लेकिन इसका पूर्वावलोकन नहीं है। लगता है कि सभी फ़ाइल खोज उपयोगिताओं जो मैंने पाया है कि मैं क्या चाहता हूँ नहीं है।

जवाबों:


0

खैर, जब से आप विंडोज 7 हैं, तो आप इसे पावरशेल में कर सकते हैं। सबसे पहले आप एक पॉवर्सशेल कंसोल खोलेंगे, फिर यहां कुछ सैंपल कमांड दिए गए हैं, जिन्हें आप चला सकते हैं (आप इन सभी उदाहरणों को देख सकते हैं और पावरशेल कमांड लाइन पर "गेट-हेल्प सिलेक्ट-स्ट्रिंग -प्लेक्स" टाइप करके):

C:\PS>select-string -path *.xml -pattern "the the"

विवरण

यह कमांड वर्तमान निर्देशिका में .xml फ़ाइल नाम एक्सटेंशन के साथ सभी फाइलों को खोजता है और उन फाइलों में लाइनें प्रदर्शित करता है जिनमें स्ट्रिंग "the" शामिल है।


C:\PS>select-string -path $pshome\en-US\*.txt -pattern "@"

विवरण

यह आदेश Windows PowerShell वैचारिक मदद फ़ाइलों (लगभग _ *। Txt) पर साइन (@) के उपयोग के बारे में जानकारी खोजता है।

पथ को इंगित करने के लिए, यह कमांड $ pshome स्वचालित चर के मूल्य का उपयोग करता है, जो पथ को Windows PowerShell installa tion निर्देशिका में संग्रहीत करता है। इस उदाहरण में, कमांड एन-यूएस उपनिर्देशिका को खोजता है, जिसमें विंडोज पॉवरशेल के लिए अंग्रेजी (यूएस) भाषा सहायता फाइलें शामिल हैं।


C:\PS>get-childitem c:\windows\system32\* -include *.txt -recurse |
select-string -pattern "Microsoft" -casesensitive

विवरण

यह कमांड .txt फ़ाइल नाम एक्सटेंशन के साथ C: \ Windows \ System32 की उपनिर्देशिकाओं की सभी फाइलों की जांच करती है और स्ट्रिंग "M icrosoft" की खोज करती है। CaseSensitive पैरामीटर इंगित करता है कि "M" को "Microsoft" में कैपिटल किया जाना चाहिए और यह कि बाकी पात्रों को मैच खोजने के लिए Select-String के लिए कम किया जाना चाहिए।


C:\PS>$f = select-string -path audit.log -pattern "logon failed" -context 2, 3
C:\PS> $f.count
C:\PS> ($f)[0].context | format-list

विवरण

पहला कमांड "लॉगऑन विफल" वाक्यांश के लिए Audit.Log फ़ाइल खोजता है। यह मैच के बाद मैट एच से पहले 2 लाइनों और 3 लाइनों पर कब्जा करने के लिए प्रसंग पैरामीटर का उपयोग करता है।

दूसरी कमांड, इस मामले में पाए गए मैचों की संख्या को प्रदर्शित करने के लिए ऑब्जेक्ट सरणियों की गणना गुण का उपयोग करती है, 2।

तीसरा कमांड पहले MatchInfo ऑब्जेक्ट के संदर्भ संपत्ति में संग्रहीत लाइनों को प्रदर्शित करता है। यह प्राथमिकी सेंट मैच (शून्य-आधारित सरणी में मैच 0) को इंगित करने के लिए सरणी संकेतन का उपयोग करता है, और यह सूची के रूप में संदर्भ संपत्ति के मूल्य को प्रदर्शित करने के लिए प्रारूप-सूची cmdlet का उपयोग करता है।

आउटपुट में दो MatchInfo ऑब्जेक्ट्स होते हैं, जिनमें से प्रत्येक मैच का पता लगाया जाता है। संदर्भ पंक्तियाँ MatchI nfo ऑब्जेक्ट के संदर्भ संपत्ति में संग्रहीत की जाती हैं।


मुझे लगता है कि मैं इस दिशा में जा सकता हूं, लेकिन ऐसा लगता है कि मैं इस तरह से पहिया को फिर से मजबूत कर रहा हूं। मैं इसके बजाय एक टूल डाउनलोड करना चाहता हूं - अगर ऐसी कोई चीज मौजूद है जो मुझे चाहिए और वह इसे अच्छी तरह से करता है।
jcollum

@jcollum मुझे लगता है कि एक उपकरण अच्छा होगा, लेकिन मैं सिर्फ पहिया बिंदु को रोकने के बारे में इंगित करना चाहता हूं, आप 'कॉस नहीं करते हैं जब आपको कुछ मुश्किल मिलता है, तो आपके पास यह एक स्क्रिप्ट में है तो यह पूर्व का उपयोग करने जैसा है। लिखित उपकरण, बस इसके लिए आपके पास कोड है। इसके अलावा, इस लिंक को देखें superuser.com/questions/25092/…
barlop
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.