dotfiles/fish/.config/fish/functions/tsd.fish

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
1.0 KiB
Fish
Raw Permalink Normal View History

# This function is to help us analyse timestamp difference given a file with
# a single column where each row has GStreamer PTS/DTS/Duration or timestamp
# of the form HH:MM:SS:sssssssss in each row.
# Adapted from https://stackoverflow.com/questions/8903239/how-to-calculate-time-elapsed-in-bash-script
function tsd --description "Get timestamp difference between rows" -a file
if test (count $argv) -lt 1
echo "Usage: tsd <file_name>"
echo "Eg: tsd gstreamer-ts.log"
else
set -l RESULT_FILE /tmp/gst-ts-analysis.csv
if test -e $RESULT_FILE
echo "Result file $RESULT_FILE exists, removing..."
rm $RESULT_FILE
end
while read -la first_line; and read -la second_line
set -l fist_date $(date -u -d "$first_line" +"%s.%N")
set -l second_date $(date -u -d "$second_line" +"%s.%N")
date -u -d "0 $second_date sec - $fist_date sec" +"%H:%M:%S.%N" >>$RESULT_FILE
end <$file
nvim -R $RESULT_FILE
end
end