Как указывается драйвер для любого устройства? [дубликат]

С инструментами GNU:

find file -prune -printf '%TY%Tm%Td%TH%TM%TS\n'

или

date -r file +%Y%m%d%H%M%S.%N

(хотя имейте в виду, что для символических ссылок, который отображает время модификации цели символической ссылки, а не самой символической ссылки (которая также может быть а кого интересует время mtime символической ссылки, см. -L с find , чтобы сделать то же самое)).

Если ваш ksh - ksh93 и он был построен с включенной встроенной датой date :

command /opt/ast/bin/date -m -f %Y%m%d%H%M%S.%N file

( command / opt / ast / bin / date вызывает встроенную дату , привязанную к / opt / ast / bin / date , если вы добавите / opt / ast / bin в перед $ PATH , эти встроенные команды будут вызываться автоматически, когда вы вызываете их по имени).

Если вам не нужна дробная часть, удалите .% N или для find замените % TS на %. 2ТС .

Обратите внимание, что время будет указано в текущем часовом поясе. Поскольку этот формат даты не включает смещение UTC, он может быть неоднозначным. Например, в моем часовом поясе на материковой части Британии:

$ date -r file1
Sun 30 Oct 01:00:00 BST 2016
$ date -r file2
Sun 30 Oct 01:00:00 GMT 2016

Эти два файла имеют время модификации, которое отстоит друг от друга на 3600 секунд, один до, один после перехода на зимнее время, но все еще с тем же временем настенных часов (поскольку эти часы были перемещены назад один час в интервале).

$ find file? -prune -printf '%TY%Tm%Td%TH%TM%TS\n'
20161030010000.0000000000
20161030010000.0000000000

Чтобы время было однозначным, вы можете включить смещение UTC:

$ find file? -prune -printf '%TY%Tm%Td%TH%TM%TS%Tz\n'
20161030010000.0000000000+0100
20161030010000.0000000000+0000

Или указать время в формате UTC:

$ TZ=UTC0 find file? -prune -printf '%TY%Tm%Td%TH%TM%TS\n'
20161030000000.0000000000
20161030010000.0000000000
0
16.12.2018, 05:55
0 ответов

Теги

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