मेल लॉग को पढ़ना बहुत मुश्किल है। मैं कमांड लाइन पर छपी प्रत्येक लाइन के बीच एक रिक्त लाइन कैसे आउटपुट कर सकता हूं? उदाहरण के लिए, मान लीजिए कि मैं लॉग-इन grep-ing हूं। इस तरह, कई लिपटे लाइनों को भ्रमित नहीं किया जा रहा है।
मेल लॉग को पढ़ना बहुत मुश्किल है। मैं कमांड लाइन पर छपी प्रत्येक लाइन के बीच एक रिक्त लाइन कैसे आउटपुट कर सकता हूं? उदाहरण के लिए, मान लीजिए कि मैं लॉग-इन grep-ing हूं। इस तरह, कई लिपटे लाइनों को भ्रमित नहीं किया जा रहा है।
जवाबों:
sed G
# option: g G Copy/append hold space to pattern space.
G
अक्सर इस्तेमाल नहीं किया जाता है, लेकिन इस उद्देश्य के लिए अच्छा है। sed दो बफर स्थान रखता है: "पैटर्न स्पेस" और "होल्ड स्पेस"। लाइनों द्वारा संसाधित sed प्रायः प्रतिमान अंतरिक्ष के माध्यम से प्रवाह विभिन्न आदेशों उसकी सामग्री (पर काम के रूप में s///
, p
, आदि); होल्ड स्पेस खाली होना शुरू हो जाता है और इसका उपयोग केवल कुछ कमांड द्वारा किया जाता है।
G
आदेश एक नई पंक्ति और पैटर्न अंतरिक्ष के लिए पकड़ अंतरिक्ष की सामग्री को जोड़ देता है। उपरोक्त सीड प्रोग्राम कभी भी होल्ड स्पेस में कुछ भी नहीं डालता है, इसलिए G
प्रभावी रूप से संसाधित होने वाली हर पंक्ति के लिए केवल एक नई पंक्ति जोड़ता है।
-e
क्योंकि हमें केवल एक ही कमांड तर्क की आवश्यकता है।
क्या यह आप के बाद कर रहे हैं?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
read -r
बैकस्लैश पात्रों को विशेष मानने से बचने के लिए उपयोग करना चाहेंगे ।
यदि यह केवल देखने के लिए अधिक से अधिक है, तो मैं उन्हें एक पाठ फ़ाइल में भेजना चाहता हूं और एक पाठ संपादक के साथ खोलना चाहता हूं ताकि आप आसानी से रैप करने या न करने और खोज करने के लिए लाइनें सेट कर सकें ... और अवांछित पंक्तियों को हटा दें और इसी तरह बिना बहुत सारी कमांड टाइप करना।
cat file.log > log.txt
और gedit log.txt
या नैनो की तरह एक टर्मिनल संपादक
संपादित करें: या cp file.log log.txt
जो निश्चित रूप से आसान और तेज़ है ... कीथबी टिप्पणी के लिए धन्यवाद
cat
और क्या नहीं cp
?
cp
कि आसान और तेज हो जाएगा! ... योग्य - मैं अन्य जवाब पढ़ रहा था grep
और awk
इसलिए मैंने इसे लिखा था cat
लेकिन मैं इसे सही कर रहा हूं, धन्यवाद
whatever | sed G
करने की कोशिश करनी चाहिए।