Преобразование мм-дд-ГГ в метку времени в полночь UTC

Вот небольшой скрипт, который 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
0
23.01.2020, 14:37
2 ответа

Как упомянул @stoney в своем ответе, часть «полночь UTC» должна быть во входных данных.

Я вижу, что вы используете дату BSD, так что вы, вероятно, используете macOS.

date -j -u -f "%m-%d-%YT%T" "01-20-2013T00:00:00" "+%s"

Опция -uинтерпретирует дату как UTC, а часть %Tв строке формата позволяет команде также считывать время, здесь явно установленное на полночь.

1
28.01.2020, 02:38

дата -d "2013 -01 -20T00 :00 :00+0000" +"%s"

В выходных данных нет полуночи по всемирному координированному времени, но во входных данных.

0
28.01.2020, 02:38

Теги

Похожие вопросы