$ date
Mi 14. Jun 09:54:58 CEST 2017

$ date -d "Mi 14. Jun 09:54:58 CEST 2017" +%s
date: invalid date ‘Mi 14. Jun 09:54:58 CEST 2017’

Почему команда date не принимает свою собственную строку вывода в качестве допустимой строки ввода?

1 ответ1

1

info date сказала мне, что опция -d требует ввода в независимом от локали формате. Чтобы получить вывод в таком формате, используйте:

LC_TIME=C date

Поэтому должно работать следующее:

date -d "$(LC_TIME=C date)" +%s

Это только громоздкий пример, который имеет небольшой смысл (сравните date +%s), но он показывает, что date принимает свои выходные данные в качестве входных данных.


Общая информация: Чтобы большинство команд создавало независимый от локали вывод, используйте LANG=C some_command . В приведенном выше примере LANG=C date должна работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .