No lo use ls, este es un trabajo para stat:
stat -c '%y' filename
-cnos permite obtener resultados específicos, aquí %yobtendremos la última hora de modificación del archivo en formato legible para humanos. Para obtener tiempo en segundos desde el uso de Epoch %Y:
stat -c '%Y' filename
Si también desea el nombre del archivo, use %n:
stat -c '%y : %n' filename
stat -c '%Y : %n' filename
Establezca los especificadores de formato para satisfacer sus necesidades. Compruebe man stat.
Ejemplo:
% 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 desea un resultado similar Tue Jul 26 15:20:59 BST 2016, use el tiempo de Epoch como entrada para 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
Verifique datelos especificadores de formato para satisfacer sus necesidades. Mira man datetambién
lsse implementa de manera inconsistente en todos los sistemas y, por lo tanto, nunca debe usarse para ningún tipo de automatización. En su lugar, use comandos comostatyfindcuando escriba scripts.