Ubuntu имеет это по умолчанию, AFAIK. Для идеи того, как это могло бы работать, смотрите на: binfmt_misc
Неспособность date
распечатать что-либо кроме текущей даты - часто оплакиваемый дефект. Некоторые нельды позволяют этому печатать другие даты, но печально для Вас не Солярис.
Пока Вам только нужен числовой вывод, можно проанализировать вывод ls -Ego
. Опции -go
подавите пользователя и название группы, и -E
определенная для Соляриса опция к ls
это заставляет его отобразить время в parseable формате.
ls -Ego /path/to/file |
awk 'NR==1 {$0 = $4 "_" $5; gsub(/[-:]/,""); sub(/\..*/, ""); print}'
(Это работает с /usr/bin/ls
но требует совместимого POSIX awk, поэтому удостоверьтесь, что имели /usr/xpg4/bin
или /usr/xpg6/bin
перед /usr/bin
на Вашем PATH
, или звоните nawk
.)
Я думаю, что Perl является Вашим лучшим выбором; я не знаю ни о каком полезном преобразователе даты в Солярисе, и date
управляйте только печатью, или устанавливает текущее время.
Хорошо не точно формат Вы хотите, но как насчет
stat -c %y /etc/motd
=>
2011-03-08 11:39:20.000000000 +0000
и затем используйте то, что Вы предпочитаете приносить той метке времени в форму.
Править
Я принимаю OpenSolaris или Солярис 11 где версия GNU stat
связывается.
stat
команда в Солярисе 11, но затем если у Вас есть Солярис 11, существует также простое решение просто использования /usr/gnu/bin/date
.
– alanc
12.10.2012, 06:10
/usr/local/bin/date
. Это - хорошее обходное решение, но было бы хорошо знать другое решение в случае, если дата GNU не доступна.
– janos
12.10.2012, 11:49