Bash получить время эпохи из настраиваемой строки даты - PullRequest
0 голосов
/ 08 июля 2020

У меня есть текстовый файл с настраиваемыми датами в его содержимом, например:

2018/Nov/28 file1
2019/Jan/17 file2
and so on

Как мне перевести часть 2019/Jan/17 в формат эпохи?

Ответы [ 3 ]

4 голосов
/ 09 июля 2020

С BSD date (который поставляется с macOS):

$ date -jf '%Y/%B/%d' +%s "2018/Nov/28"
1543442700

Параметр -j не позволяет вам фактически устанавливать системные часы; -f указывает формат ввода, а +%s обеспечивает формат вывода.

2 голосов
/ 09 июля 2020

Perl умеет:

$ cat file
2018/Nov/28 file1
2019/Jan/17 file2

$ perl -MTime::Piece -ape '$F[0] = Time::Piece->strptime($F[0], "%Y/%b/%d")->epoch; $_ = "@F\n"' file
1543363200 file1
1547683200 file2
1 голос
/ 09 июля 2020

Советую установить dateutils и просто использовать strptime:

$ strptime -i "%Y/%B/%d" -f "%s%n" '2019/Jan/17'
1547683200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...