#!/bin/sh start=$(date +%s) sed ' s/>/\0\n/g s/]/,/^<\/gpx>$/ { /^]/ d /^<\/gpx>$/ d p } ' \ | tr -d '\n' \ | sed ' s@@\0\n@g ' \ | grep -vxF '' \ | sed ' 1 { \@^.*.*$@ d } s@^\([-0-9.]\+\)$@\1\t\2\t\3\t\4@ t \@^$@ d \@^$@ d w /dev/stderr ' \ | while read -r lat lon ele time; do printf '%s\t' "${lat}" "${lon}" "${ele}" date -d"${time}" +%s done echo $(($(date +%s)-start))