Как я должен заставить команду даты использовать тот же формат в качестве rdiff-резервного-копирования?

rdiff-backup команда создает возрастающие резервные копии путем создания нескольких файлов с метками даты в их заголовках. Метки даты имеют формат, определенный в Примечании W3 о дате и времени, которые являются по существу:

Полная дата плюс часы, минуты и секунды:

YYYY-MM-DDThh:mm:ssTZD (например, 1997-07-16T19:20:30+01:00)

Где T в середине является литеральный 'T', чтобы обозначить, что время запускается в этой точке.

Я хотел бы смочь зеркально отразить этот формат с помощью date команда. До сих пор я имею:

date '+%FT%T%:z'

Который работает блестяще, если я нахожусь в каком-либо часовом поясе кроме GMT/UTC, давая вывод в ожидаемом формате.

Когда в часовом поясе GMT/UTC, строка часового пояса в конце должна быть произведена как буква Z вместо тока +00:00.

Я уверен, что мог сделать это путем получения части часового пояса с отдельным date команда и изменение его, если это соответствует +00:00, или при помощи своего рода расширения параметра, если я сохраняю строку как переменную или возможно даже использование tr. Есть ли прямой путь в date опции команды, если не, как я должен достигнуть этого просто?

0
задан 24 January 2017 в 06:40

1 ответ

Я не думаю, что дата GNU имеет любую опцию для печати Z вместо часового пояса UTC. Это достаточно легко с sed:

$ date '+%FT%T%:z'       
2017-01-24T14:06:39+00:00
$ date '+%FT%T%:z' | sed 's/+00:00$/Z/'                            
2017-01-24T14:07:52Z
1
ответ дан 7 November 2019 в 02:52

Другие вопросы по тегам:

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