2009-05-19 22 views
13

से मेल खाता है यह कोई डुप्लिकेट हो सकता है के रूप में मेरा मानना ​​है कि मैं पहले से ही ऐसा ही कुछ देखा था, लेकिन इसे अब और नहीं मिल सकता है तो मैं पूछ रहा हूँ नहीं है सभी फाइल मिल कई लाइनों वाली बहुत सारी फाइलें, और ज्यादातर मामलों में, लाइन में से एक में एक निश्चित पैटरन होता है। मैं हर फाइल रखना चाहता हूं जिसमें इस पैटर के साथ कोई लाइन न हो।Grep:</p> <p>मेरे पास है: कि एक लाइन है कि

संपादित करें: बस "-L" grep विकल्प का उपयोग करने की आवश्यकता है। यह डुप्लिकेट है ... मुझे यकीन है, लेकिन मूल वापस नहीं मिल रहा है,

+0

क्यों किया मुझे इस के लिए -1 मिलता है? – claf

+0

मेरा अनुमान है कि किसी ने सोचा था कि मैनुअल में जानकारी आसानी से उपलब्ध थी। – JesperE

+0

यदि आपको कोई उत्तर मिल गया है, तो इसके साथ अपना प्रश्न संपादित न करें, * इसके बाद उत्तर दें *। आजकल आप अपने उत्तरों को भी स्वीकार कर सकते हैं। – JesperE

उत्तर

24

जवाब सिर्फ आदेश के बिना फ़ाइल के लिए में "एल" विकल्प मिल गया था पैटर्न ... आदमी को और सावधानी से पढ़ना चाहिए था!

6

Grep रिटर्न 0/1 अगर वहाँ एक मैच था इंगित करने के लिए है, तो आप कुछ इस तरह कर सकते हैं:

for f in *.txt; do 
    if ! grep -q "some expression" $f; then 
     echo $f 
    fi 
done 

संपादित: तुम भी -L विकल्प का उपयोग कर सकते हैं:

ग्रेप एल "कुछ शब्द" *

+0

लूप की कोई ज़रूरत नहीं है बस grep के "-L" विकल्प का उपयोग करना होगा। – claf

0

"गिनती" और फिल्टर की कोशिश जहां के बराबर है ": 0":

grep -c [pattern] * | grep ":0" 

(यदि आप TurboGREP का उपयोग खांसी, आप एक एल स्विच नहीं होगा;))

+0

टर्बोग्रेप में -l और -v प्रतीत होता है, इसलिए आप केवल 'grep -lv' expr '* 'का उपयोग कर सकते हैं। – amertune

+0

अगर turbogrep gnu grep की तरह काम करता है, -एलवी आप जो चाहते हैं वह नहीं करता है। यह आपको किसी भी पंक्ति के साथ सभी फाइलें दिखाता है जो अभिव्यक्ति से मेल नहीं खाते हैं। –

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