@TomMcKenzie dit dans un commentaire à une autre réponse, date -r 123456789
est sans doute plus ordinaires (c'est à dire plus largement mises en œuvre), la solution la plus simple pour un temps donné en secondes depuis l'Époque Unix, mais malheureusement il n'y a pas d'universel garanti solution portable.
L' -d
option sur de nombreux types de systèmes signifie quelque chose de totalement différent de GNU Date de l' --date
extension. Malheureusement GNU Date n'a pas interpréter -r
le même que ces autres implémentations. Donc, malheureusement, vous devez savoir quelle est la version de date
vous utilisez, et beaucoup de vieux Unix date
commandes ne prennent pas en charge une ou l'autre option.
Pire encore, POSIX date
reconnaît ni -d
ni -r
et prévoit pas de manière standard dans n'importe quelle commande à tous (que je connais) pour formater un temps Unix en ligne de commande (depuis POSIX Awk manque également de l' strftime()
). (Vous ne pouvez pas utiliser touch -t
et ls
parce que l'ancien ne pas accepter un temps donné en secondes depuis l'Époque Unix.)
Notez bien que Le seul Vrai Awk disponible directement à partir de Brian Kernighan n'ont maintenant l' strftime()
fonction intégrée ainsi que d'un systime()
fonction retourne le temps en secondes depuis l'Époque Unix), donc peut-être le Awk solution est la plus portable.