Думаю, мне удалось решить вашу проблему с помощью следующего сценария bash:
#!/usr/bin/env bash
sfile=/path/to/start
efile=/path/to/end
ofile=/path/to/out
n=0
while read -r line; do
((n++))
if [[ $line == 'INVALID' ]]; then
echo "INVALID"
continue
fi
start=$(date -u -d "$line" "+%s")
end=$(date -u -d "$(sed -n "${n}p" "$efile")" "+%s")
date -u -d "0 $end sec - $start sec" +"%H:%M:%S"
done<"$sfile" >"$ofile"
Каждая строка начального файла будет прочитана и сравнена с соответствующей строкой в конечном файле. Если строка содержит «INVALID», она выдаст «INVALID» и перейдет к следующей итерации цикла.
Я предполагаю, что очевидная ошибка заключается в том, что на внешнем диске нет файловой системы, поддерживающей chown.