मैं एक विशिष्ट शब्द का उपयोग करके फाइलें खोजने की कोशिश कर रहा हूं grep
। निर्देशिका में कई फाइलें हैं (> 500)
आज्ञा मैं चला
$ grep 'delete' *
उत्पादन
validate_data_stage1:0
validate_data_stage2:0
validate_data_stage3:0
validate_data_stage4:0
validate_data_stage5:0
validate_input_stage1:0
validate_input_stage2:0
validate_input_stage3:0
validate_input_stage4:0
.... and hundred of such lines
ये वो फाइलें हैं जिनमें दिए गए मैच नहीं हैं। मैं उन पंक्तियों को प्रदर्शित करने से लेकर स्टडआउट तक दबाना चाहता हूं। मुझे -q
स्विच का पता है , लेकिन यह संपूर्ण आउटपुट को दबा देगा, जो मुझे नहीं चाहिए।
मैं उसको कैसे करू?
grep 'delete' * -R
, लेकिन मुझे नहीं लगता कि -R
यह किसी भी समस्या का कारण है। और हाँ, यह आम तौर पर गैर-मिलान वाले लोगों को नहीं छापता है, लेकिन यह निश्चित नहीं है कि यहाँ क्या मामला है ...
grep -- 'delete' *
(जोड़ा --
) और यह उम्मीद के मुताबिक काम किया। हटाने से --
उपरोक्त प्रदर्शन में अग्रणी है।
-ci
। मुद्दे को हल करने के लिए धन्यवाद। आप इस परिदृश्य को उत्तर के रूप में पोस्ट कर सकते हैं।
grep
गैर-मिलान वाली फ़ाइलों के फ़ाइल नामों का प्रिंट आउट नहीं लेना चाहिए। वास्तव में, ऐसा लगता है कि मिलान करनेgrep
वाली सामग्री के साथ एक पंक्ति मानता है0
। क्या आप उस सटीक खोज पैटर्न को पोस्ट कर सकते हैं जिसका आप उपयोग कर रहे हैं?