Grep का उपयोग कर नकारात्मक मिलान(मिलान लाइनें जिनमें foo शामिल नहीं है)




(2)

आप इन उद्देश्यों के लिए भी awk उपयोग कर सकते हैं, क्योंकि यह आपको एक स्पष्ट तरीके से अधिक जटिल जांच करने की अनुमति देता है:

लाइनों में foo नहीं है:

awk '!/foo/'

रेखाओं में न तो foo और न ही bar :

awk '!/foo/ && !/bar/'

रेखाओं में न तो foo और न ही bar लेकिन इसमें foo2 या bar2 :

awk '!/foo/ && !/bar/ && (/foo2/ || /bar2/)'

और इसी तरह।

मैं इस आदेश के लिए वाक्यविन्यास को काम करने की कोशिश कर रहा हूं:

grep ! error_log | find /home/foo/public_html/ -mmin -60

या

grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60

मुझे उन सभी फ़ाइलों को देखने की ज़रूरत है जिन्हें संशोधित किया गया है जिन्हें error_log नाम दिया error_log

मैंने यहां इसके बारे में पढ़ा है , लेकिन केवल एक-रेगेक्स पैटर्न not मिला है।


आपके मामले में, संभवतः आप grep का उपयोग नहीं करना चाहते हैं, लेकिन इसके बजाय खोज कमांड के लिए एक नकारात्मक खंड जोड़ें, उदाहरण के लिए

find /home/baumerf/public_html/ -mmin -60 -not -name error_log

यदि आप नाम में वाइल्डकार्ड शामिल करना चाहते हैं, तो आपको उन्हें बचाना होगा, उदाहरण के लिए प्रत्यय वाली फ़ाइलों को बाहर निकालना .log:

find /home/baumerf/public_html/ -mmin -60 -not -name \*.log