सबसे पहले, अगर आप इन टाइमस्टैम्प्स से वास्तव में एक घटना का प्रतिनिधित्व करने की उम्मीद कर रहे हैं, तो ध्यान रखें कि चूंकि कई प्रोग्राम लाइन बफ़रिंग (दूसरों की तुलना में कुछ अधिक आक्रामक) करते हैं, इसलिए यह सोचना महत्वपूर्ण है कि मूल लाइन के समय के करीब। कार्रवाई होने के टाइमस्टैम्प के बजाय मुद्रित किया गया है।
आप यह भी जांच सकते हैं कि आपके कमांड में पहले से इनबिल्ट फीचर नहीं है जो ऐसा करने के लिए समर्पित है। एक उदाहरण के रूप ping -D
में, कुछ ping
संस्करणों में मौजूद है , और प्रत्येक पंक्ति से पहले यूनिक्स के युग के बाद के समय को प्रिंट करता है। यदि आपके आदेश में अपना स्वयं का तरीका नहीं है, हालांकि, कुछ तरीके और उपकरण हैं जिन्हें दूसरों के बीच नियोजित किया जा सकता है:
POSIX खोल
इस बात को ध्यान में रखें कि चूँकि कई गोले अपने तार को आंतरिक रूप से क्रासिंग के रूप में संग्रहीत करते हैं, अगर इनपुट में शून्य वर्ण ( \0
) होता है, तो यह समय से पहले समाप्त हो सकता है।
command | while IFS= read -r line; do printf '[%s] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$line"; done
जीएनयू जागा
command | gawk '{ print strftime("[%Y-%m-%d %H:%M:%S]"), $0 }'
पर्ल
command | perl -pe 'use POSIX strftime; print strftime "[%Y-%m-%d %H:%M:%S] ", localtime'
अजगर
command | python -c 'import sys,time;sys.stdout.write("".join(( " ".join((time.strftime("[%Y-%m-%d %H:%M:%S]", time.localtime()), line)) for line in sys.stdin )))'
माणिक
command | ruby -pe 'print Time.now.strftime("[%Y-%m-%d %H:%M:%S] ")'