খাঁটি বাশ নয়, নিম্নলিখিত স্ক্রিপ্টটি পার্ল ব্যবহার করে আপনার স্থানীয় সময় অঞ্চলে একটি স্ট্রিংয়ে 13 দৈর্ঘ্যের টাইমস্ট্যাম্পগুলিকে তাদের সমতুল্য তারিখে রূপান্তর করবে
timestamp_to_date.sh
#!/usr/bin/env bash
IT=$(cat /dev/stdin)
re='(.*)([0-9]{13})(.*)'
while [[ $IT =~ $re ]]; do
TIMESTAMP=${BASH_REMATCH[2]}
AS_DATE=$(echo "$TIMESTAMP" | perl -pe 's/([\d]{10})([\d]{3})/localtime $1/eg;')
IT="${IT/$TIMESTAMP/$AS_DATE}"
done
echo "$IT"
ইনপুট
{"timestamp":"1573121629939","level":"DEBUG","thread":"http-nio-15372-exec-3","logger":"org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor"}
আউটপুট
$ cat input | timestamp_to_date.sh
{"timestamp":"Thu Nov 7 06:13:49 2019","level":"DEBUG","thread":"http-nio-15372-exec-3","logger":"org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor"}
date -d @$(date -u +%s)