मैं कुछ लॉग फ़ाइलों की निगरानी के लिए एक खोल स्क्रिप्ट बनाने की कोशिश कर रहा हूं। मैं इस तरह के आदेश का उपयोग कर रहा हूँ: लॉग फ़ाइलपूंछ में grep में gf में ठीक से काम नहीं कर रहा है
tail -f /var/somelog | grep --line-buffered " some test and p l a c e h o l d e r" | cut -f 3,4,14 -d " "
की तरह है:
some test and p l a c e h o l d e r 3
some test and p l a c e h o l d e r 4
some test and p l a c e h o l d e r 5
some test and p l a c e h o l d e r 6
और इतने पर .. मेरे मुद्दा यह है कि आदेश के उत्पादन में पिछले प्रदर्शित नहीं करता है लाइन
some test and p l a c e h o l d e r 6
लाइन तक
some test and p l a c e h o l d e r 7
लॉग में जोड़ा गया है।
मुझे उम्मीद है कि मैंने अपना मुद्दा स्पष्ट कर दिया है। क्या कोई इसे हल करने में मेरी मदद कर सकता है? धन्यवाद :)
हो सकता है कि लॉग लाइन लाइन लाइन के साथ समाप्त नहीं हो रहे हैं, लेकिन इसके बजाय एक के साथ शुरू किया? इस मामले में लाइन 6 वास्तव में तब तक पूर्ण नहीं होगी जब तक कि लाइन 7 शुरू नहीं होती है और वह लाइन फ़ीड प्रदान करती है। यदि आप लॉग फ़ाइल देखते हैं, तो सभी वर्ण दिखाते हुए, क्या आप अंतिम पंक्ति के अंत में एक लाइन फ़ीड देखते हैं? –
'od -c/var/somelog' का उपयोग कर पिछली नई लाइन ("\ n") की तलाश करें। – cdarke
क्या आप वही आउटपुट देखते हैं जो सिर्फ 'tail -f' के साथ है? यदि ऐसा है तो @ डेविड ने इसे सही तरीके से इंगित किया है। – mtk