25 lines
855 B
Bash
Executable File
25 lines
855 B
Bash
Executable File
#!/usr/bin/env sh
|
|
# Converts ROS2 log data timestamps from stdin to more readable format
|
|
|
|
|
|
while IFS= read -r string; do
|
|
timestr=`echo $string | egrep -o "\[[0-9]+\.[0-9]+\]"`
|
|
if [[ ! $timestr ]] then
|
|
continue
|
|
fi
|
|
timestamp=${timestr#"["}
|
|
timestamp=${timestamp%"]"}
|
|
sec=`echo $timestamp | cut -d "." -f 1`
|
|
nano=`echo $timestamp | cut -d "." -f 2`
|
|
#nanos=$(( $nano / 1000000000 ))
|
|
#sec=$(( $nanos + $sec ))
|
|
timestamp=`date -d @"$sec" +"%Y-%m-%d-%H:%M:%S"`
|
|
#printf 'Got sec:"%s"\n' "$sec"
|
|
#printf 'Got nano:"%s"\n' "$nano"
|
|
#printf 'Got timestamp:"%s"\n' "$timestamp"
|
|
#head=`echo $string | awk -F'$timestr' '{print $1}'`
|
|
#tail=`echo $string | awk -F'$timestr' '{print $2}'`
|
|
#printf '%s[%s]%s\n' "$head" "$timestamp" "$tail"
|
|
echo "${string/"$timestr"/"[${timestamp}.${nano}]"}"
|
|
done
|