Busybox का dmesg कमांड, टाइमस्टैम्प को परिवर्तित करके दिखाने के लिए -T विकल्प नहीं रखता है, इसलिए मैंने वन-लाइनर का उपयोग करके परिवर्तित करने की कोशिश की।
वन-लाइनर
uptime=$(cut -d. -f1 /proc/uptime); dmesg | while read line; do time=$(echo $line | sed -e 's/^\[ *\([0-9]*\).*$/\1/g'); echo "[$(date -d @$(($(date +%s) - $uptime + $time)))] $(echo $line | cut -d ] -f 2 -)" ; done
संक्षिप्त विवरण
- /proc/uptime में सिस्टम के चालू होने के बाद का समय सेकंड में रिकॉर्ड किया जाता है।
- dmesg में प्रदर्शित होने वाले टाइमस्टैम्प, सिस्टम के चालू होने के बाद का समय होते हैं।
- वर्तमान समय से सिस्टम के चालू होने के बाद के समय को घटाने पर, सिस्टम के चालू होने का समय प्राप्त होता है।
वर्तमान समय - (कुल चालू समय - dmesg का टाइमस्टैम्प) = लॉग का समय