2011-08-04 10 views
5
ग्रेप के लिए पुस्तिका के अनुसार

,ग्रेप -l और ग्रेप -ln

-l, --files-with-matches 
      Suppress normal output; instead print the name of each input 
      file from which output would normally have been printed. The 
      scanning will stop on the first match. 

grep -l, यह उस में ठीक लग रहा है जब एक मैच पाया जाता है, मैच युक्त फ़ाइल नाम गूँजती है।

हालांकि जब मैं grep -ln करता हूं, तो grep घटना की हर पंक्ति को जोड़ता है।

क्या grep -l वास्तव में रोकने का मतलब है जब मैच की पहली घटना पाई जाती है और स्कैनिंग रोकती है, जबकि grep -ln-l ध्वज को अनदेखा कर देगा?

उत्तर

6

ये विकल्प असंगत हैं। यदि आप प्रत्येक फ़ाइल में पहले मैच (और केवल पहला मैच) की लाइन संख्या प्रदर्शित करना चाहते हैं तो grep -Hnm 1 का उपयोग करें।

-एच, --with-फ़ाइल नाम
प्रिंट प्रत्येक मैच के लिए फ़ाइल नाम।

-n, --line संख्या
उपसर्ग अपने इनपुट फ़ाइल के भीतर लाइन संख्या के साथ उत्पादन की प्रत्येक पंक्ति।

-m NUM, --max गिनती = NUM
बंद करो NUM मिलान लाइनों के बाद एक फ़ाइल को पढ़ने।

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