Я пытаюсь преобразовать временные метки, считанные из файла, начиная со строки до даты, так что я могу найти разницу в 2 датах/временных меток. большинство потоков/обсуждений на веб-шоу используют аргумент даты «-d», чтобы преобразовать строку в эпоху или найти разницу в двух временных отметках Find difference between two dates in bashДата: незаконный вариант - d, Найти разницу между двумя датами
Но похоже, что моя среда/ОС не поддерживает -d аргумент даты. Ниже приведены подробные сведения о моем окр: даты
bash --version
GNU bash, version 3.2.52(1)-release (i386-pc-solaris2.10)
Copyright (C) 2007 Free Software Foundation, Inc.
uname -a
SunOS s01***** 5.10 Generic_147148-26 i86pc i386 i86pc
Примера чтение из файла:
START_TIME="09/03/16 - 01:04:56"
END_TIME="09/03/16 - 05:10:44"
кода, который я пытался я пытался имитировать ниже код из Find difference between two dates in bash
!# /usr/bin/sh
date1="Sat Dec 28 03:22:19 2013"
date2="Sun Dec 29 02:22:19 2013"
date -d @$(($(date -d "$date2" +%s) - $(date -d "$date1" +%s))) -u +'%H:%M:%S'
bash test.sh
date: illegal option -- d
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
date: illegal option -- d
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
test.sh: line 5: - : syntax error: operand expected (error token is " ")
Я не думаю, что синтаксическая ошибка в строке 5 является основной причиной, по которой я не нашел вариант -d в man-странице моей даты.
В ответ на замечания:
>>> date --version
date: illegal option -- version
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
>>> date --help
date: illegal option -- help
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
>>> echo $0
bash
Даже эти аргументы не поддерживаются. Извиняюсь, если я совершу любую глупую ошибку.
Возможно, кто-то, пожалуйста, дайте мне эквивалент -d для общих сведений env, приведенных выше, или способ найти разницу между двумя датами без использования -d.
Заранее спасибо
IMHO, лучший пост 'date -version' и' date -help' ('date -help | fgrep -d' для более короткого вывода) вместо' bash -version'. Или, в дополнение к 'bash --version'. – Sasha
Можете ли вы опубликовать фактическую ошибку, а также, пожалуйста. – 123
Uer Perl. Смотрите: http://stackoverflow.com/a/95539/3776858 – Cyrus