Não use ls
, isso é uma tarefa para stat
:
stat -c '%y' filename
-c
nos permite obter resultados específicos, aqui %y
nos dará o horário da última modificação do arquivo em formato legível por humanos. Para obter tempo em segundos desde que o Epoch use %Y
:
stat -c '%Y' filename
Se você quiser também o nome do arquivo, use %n
:
stat -c '%y : %n' filename
stat -c '%Y : %n' filename
Defina os especificadores de formato para atender sua necessidade. Verifique man stat
.
Exemplo:
% 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
Se você quiser a saída como Tue Jul 26 15:20:59 BST 2016
, use o tempo da 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 os especificadores de formato de date
para atender sua necessidade. Veja man date
também.