N'utilisez pas ls
c'est un travail pour stat
:
stat -c '%y' filename
-c
nous permet d'obtenir une sortie spécifique, ici %y
nous donnera l'heure de dernière 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 une sortie comme Tue Jul 26 15:20:59 BST 2016
utiliser le temps d'Epoch 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
pour répondre à vos besoins. Voir man date
aussi.