मैं क्या हासिल करना चाहता हूं:
मैं तारीख तक एक सिस्टम लॉग फ़ाइल फ़िल्टर करना चाहता हूँ, जब मैं करता हूँ:
$ cat /var/log/syslog | grep -i "error\|warn\|kernel"
यह पिछले तीन दिनों के लिए इस तरह की लाइनें प्रिंट करता है:
(...)
Apr 3 06:17:38 computer_name kernel: [517239.805470] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
(...)
Apr 4 19:34:21 computer_name kernel: [517242.523165] e1000e: enp0s25 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
(...)
Apr 5 09:00:52 computer_name kernel: [517242.523217] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s25: link becomes ready
ग्रीप कैसे करें (चयन करें, या फ़िल्टर करें):
- तिथि के अनुसार?
- दिनांक + घंटे द्वारा?
मैंने क्या कोशिश की:
$ cat /var/log/syslog | grep -i "Apr 5" | grep -i "error\|warn\|kernel"
यह syslog
फ़ाइल पर अपेक्षित के रूप में काम करता है , लेकिन kern.log
उदाहरण के लिए फ़ाइल पर नहीं , जो केवल रिटर्न करता है Binary file (standard input) matches
:। और जब मैं tail
इस विशेष फ़ाइल को देख सकता हूं तो मैं फ़ाइल की तुलना में एक ही प्रारंभिक तिथि प्रारूप देख सकता हूं syslog
।
सवाल:
kern.log
फ़ाइल जैसे अन्य लॉग पर समान कैसे प्राप्त करें ?
इसके अलावा, क्या फ़िल्टर करना संभव है:
- दिनांक सीमा तक?
- दिनांक + घंटे की सीमा तक?
संकेत: यदि संभव हो तो, "आसानी से याद रखने वाली कमांड" के साथ।