Ne l'utilisez pas ls
, c'est un travail pour stat
:
stat -c '%y' filename
-c
nous permet d'obtenir une sortie spécifique, nous %y
obtiendrez ici la dernière heure de modification du fichier dans un format lisible par l'homme. Pour obtenir le temps en secondes depuis Epoch, utilisez %Y
:
stat -c '%Y' filename
Si vous voulez aussi le nom du fichier, utilisez %n
:
stat -c '%y : %n' filename
stat -c '%Y : %n' filename
Définissez les spécificateurs de format en fonction de vos besoins. Vérifiez man stat
.
Exemple:
% stat -c '%y' foobar.txt
2016-07-26 12:15:16.897284828 +0600
% stat -c '%Y' foobar.txt
1469513716
% stat -c '%y : %n' foobar.txt
2016-07-26 12:15:16.897284828 +0600 : foobar.txt
% stat -c '%Y : %n' foobar.txt
1469513716 : foobar.txt
Si vous voulez que la sortie soit comme Tue Jul 26 15:20:59 BST 2016
, utilisez le temps de l'époque comme entrée pour date
:
% date -d "@$(stat -c '%Y' a.out)" '+%a %b %d %T %Z %Y'
Tue Jul 26 12:15:21 BDT 2016
% date -d "@$(stat -c '%Y' a.out)" '+%c'
Tue 26 Jul 2016 12:15:21 PM BDT
% date -d "@$(stat -c '%Y' a.out)"
Tue Jul 26 12:15:21 BDT 2016
Vérifiez date
les spécificateurs de format pour répondre à vos besoins. Voir man date
aussi
ls
méthode est implémentée de manière incohérente dans tous les systèmes et ne doit donc jamais être utilisée pour une automatisation quelconque. À la place, utilisez des commandes telles questat
etfind
lors de l’écriture de scripts.j'ai essayé
mais si la date est inférieure à 10, le temps manque. Ceci à cause de l'espace supplémentaire avant la date s'il est inférieur à 10. Essayez ceci:
La commande awk imprime les champs séparés par tous les espaces (-F ''). Esperons que ça marche. Je sais que cela ne répond pas à la question initiale, mais simplement une clarification de la commande ls pour la date et l'heure. Lorsque vous recherchez "ubuntu obtenir la date et l'heure du fichier" sur Google, cette question est listée en haut de la page, ce que je cherchais, car je n'ai pas besoin de l'année également. Pour l'année, la date et l'heure, vous pouvez essayer l'une des commandes ci-dessous. % m affiche le numéro du mois. % b affiche l'abréviation du mois: Supprimez le% H:% M si vous n'avez pas besoin des heures et des minutes. % -d n'imprime pas le zéro non significatif pour le jour du mois.
la source