Как сделать так, чтобы команда date использовала тот же формат, что и rdiff-backup?
rdiff-backup
Команда создает инкрементные резервные копии, создавая несколько файлов с метками даты в своих заголовках. Метки даты имеют формат, определенный в примечании W3 о дате и времени, которые по существу:
Полная дата плюс часы, минуты и секунды:
ГГГГ-ММ-ДДчч: мм: ссТЗД (например, 1997-07-16T19:20:30+01:00)
Где Т в середине - это буквальное "Т", обозначающее, что время начинается с этой точки.
Я хотел бы быть в состоянии отразить этот формат с помощью date
команда. Пока что у меня есть:
date '+%FT%T%:z'
Что прекрасно работает, если я нахожусь в любом часовом поясе, кроме GMT /UTC, давая вывод в ожидаемом формате.
Когда в часовом поясе GMT / UTC строка часового пояса в конце должна быть выведена как буква Z
а не текущий +00:00
,
Я уверен, что мог бы сделать это, получив часть часового пояса с отдельным date
введите команду и измените ее, если она соответствует +00: 00, или используя какое-то расширение параметра, если я сохраню строку как переменную, или, возможно, даже используя tr
, Есть ли прямой путь внутри date
Опции команды, если нет, то как мне просто добиться этого?
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