Вот небольшой скрипт, который sort
указывает на оба файла, grep
указывает на более поздние даты, чем файл1, а затем считает (wc -l
), если имеется более 1 uniq
строки (должна быть только 1, которая приходит из файла1):
if [[ "$(sort -t/ -k3,3n -k1,1n -k2,2n file1 file2 | grep -A 1 -f file1 | uniq | wc -l)" -gt 1 ]]
then
echo "Date in file2 is greater than file1"
else
echo "Date in file2 is not greater than file1"
fi
Как упомянул @stoney в своем ответе, часть «полночь UTC» должна быть во входных данных.
Я вижу, что вы используете дату BSD, так что вы, вероятно, используете macOS.
date -j -u -f "%m-%d-%YT%T" "01-20-2013T00:00:00" "+%s"
Опция -u
интерпретирует дату как UTC, а часть %T
в строке формата позволяет команде также считывать время, здесь явно установленное на полночь.
дата -d "2013 -01 -20T00 :00 :00+0000" +"%s"
В выходных данных нет полуночи по всемирному координированному времени, но во входных данных.