No lo use ls
, este es un trabajo para stat
:
stat -c '%y' filename
-c
nos permite obtener resultados específicos, aquí %y
obtendremos 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 date
los especificadores de formato para satisfacer sus necesidades. Mira man date
también
ls
se 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 comostat
yfind
cuando escriba scripts.Lo intenté
pero si la fecha es inferior a 10, pierde el tiempo. Esto debido al espacio adicional antes de la fecha si es menor que 10. Pruebe esto:
El comando awk imprime los campos separados por todos los espacios (-F ''). Espero que funcione. Sé que esto no responde a la pregunta original, sino solo una aclaración sobre el comando ls solo para la fecha y la hora. Cuando Google "ubuntu obtiene la fecha y la hora del archivo", enumera esta pregunta en la parte superior, que es lo que estaba buscando, ya que no necesito el año también. Para año, fecha y hora, puede probar uno de los comandos a continuación. % m imprime el número del mes. % b imprime la abreviatura del mes: elimine% H:% M si no necesita la hora y los minutos. % -d no imprime el cero inicial para el día del mes.
fuente