मुझे लॉग फ़ाइल से लॉग की अंतिम 100 लाइनों को पुनः प्राप्त करने की आवश्यकता है। मैंने sed कमांड की कोशिश की
sed -n -e '100,$p' logfilename
कृपया मुझे बताएं कि मैं अंतिम 100 लाइनों को पुनः प्राप्त करने के लिए इस कमांड को कैसे बदल सकता हूं ।
मुझे लॉग फ़ाइल से लॉग की अंतिम 100 लाइनों को पुनः प्राप्त करने की आवश्यकता है। मैंने sed कमांड की कोशिश की
sed -n -e '100,$p' logfilename
कृपया मुझे बताएं कि मैं अंतिम 100 लाइनों को पुनः प्राप्त करने के लिए इस कमांड को कैसे बदल सकता हूं ।
जवाबों:
आप टेल कमांड का उपयोग इस प्रकार कर सकते हैं :
tail -100 <log file> > newLogfile
अब अंतिम 100 लाइनें मौजूद रहेंगी newLogfile
संपादित करें:
टेललबर्ग उपयोग कमांड द्वारा उल्लिखित पूंछ के अधिक हाल के संस्करण :
tail -n 100 <log file> > newLogfile
tail
सिंटैक्स की आवश्यकता के कुछ और हालिया संस्करणों tail -n 100 <filename>
...
देखो, वह सीक स्क्रिप्ट जो 100 अंतिम पंक्तियों को प्रिंट करती है जिसे आप sed के लिए दस्तावेज में पा सकते हैं ( https://www.gnu.org/software/rew/manual/sed.html#tail ):
$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p
$ sed -nf sed.cmd logfilename
मेरे लिए यह आपकी पटकथा से कहीं अधिक कठिन है
tail -n 100 logfilename
बहुत सरल है। और यह काफी कुशल है, यह सभी फाइल को नहीं पढ़ेगा यदि यह आवश्यक नहीं है। मेरे उत्तर को स्ट्रेस रिपोर्ट के लिए देखें tail ./huge-file
: /unix/102905/does-tail-read-the-whole-file/102910#102910
"पूंछ" एक फ़ाइल के अंतिम भाग को प्रदर्शित करने के लिए कमांड है, उचित उपलब्ध स्विच का उपयोग करने से हमें अधिक विशिष्ट आउटपुट प्राप्त करने में मदद मिलती है। मेरे लिए सबसे ज्यादा इस्तेमाल किया जाने वाला स्विच है -n और -f
SYNOPSIS
पूंछ [-F | -एफ | -r] [-q] [-b संख्या | -सी संख्या | -n नंबर] [फ़ाइल ...]
यहाँ
-n संख्या: स्थान संख्या रेखाएँ है।
-f: -f विकल्प पूंछ का कारण बनता है जब फ़ाइल के अंत तक नहीं रुकता है, लेकिन इनपुट पर अतिरिक्त डेटा के इंतजार के लिए इंतजार करना चाहिए। -F विकल्प को नजरअंदाज किया जाता है यदि मानक इनपुट एक पाइप है, लेकिन ऐसा नहीं है यदि यह एक फीफो है।
पिछले 100 लाइनों लॉग को पुनः प्राप्त करें
To get last static 100 lines
tail -n 100 <file path>
To get real time last 100 lines
tail -f -n 100 <file path>
मुझे पता है कि यह बहुत पुराना है, लेकिन, जो भी इसके लिए मदद कर सकता है।
less +F my_log_file.log
यह सिर्फ बुनियादी है, कम के साथ आप बहुत अधिक शक्तिशाली चीजें कर सकते हैं। एक बार जब आप लॉग देखना शुरू करते हैं तो आप खोज कर सकते हैं, लाइन नंबर पर जा सकते हैं, पैटर्न की खोज कर सकते हैं, बहुत अधिक प्लस यह बड़ी फ़ाइलों के लिए तेज़ है।
लॉग के लिए इसकी तरह विम [पूरी तरह से मेरी राय]
मूल कम प्रलेखन: https://linux.die.net/man/1/less
कम धोखाधड़ी: https://gist.github.com/glnds/8862214
len=`cat filename | wc -l`
len=$(( $len + 1 ))
l=$(( $len - 99 ))
sed -n "${l},${len}p" filename
पहली पंक्ति फ़ाइल की लंबाई (कुल पंक्तियाँ) लेती है, उसके बाद कुल पंक्तियों में +1, उसके बाद हमें 100 रिकॉर्ड बनाने होंगे ताकि, कुल लंबाई से -99 फिर फ़ाइल से अंतिम 100 पंक्तियों को लाने के लिए sed कमांड में चर डालें।
उम्मीद है इससे आपको मदद मिलेगी।