2012-04-17 13 views
7

¿Cómo obtengo la última fecha de modificación de un directorio en la terminal?Última modificación de un directorio en OSX

+0

Se puede publicar la salida de 'ls -ld. '¿desde adentro de tu directorio? Las diferentes versiones de 'ls' usan diferentes formatos de fecha y hora en la salida – Alex

+0

drwx ------ @ 52 userid staff 1768 Apr 17 11:25 – user754905

Respuesta

9

Si lo que desea es obtener la fecha de modificación (mtime) y nada más

stat --printf='%y\n' directory_name 

o , para la fecha en segundos desde la época:

stat --printf='%Y\n' directory_name 

esto es más sencillo, eficiente y robusto que las soluciones que implican ls/cut/grep/awk/find etc

Editar

Lo anterior fue publicada antes de la OP mencionó que esto era para OSX en los comentarios a continuación.

El OP llegó a una solución usando stat/date, y apruebo la solución, así que la añado aquí.

Primero el stat

stat -f "%m" /path/test.app 

llegar -mtime del directorio, a continuación, se envuelve en un date conseguirlo en el formato requerido

date -j -f "%s" "$(stat -f "%m" /path/test.app)" +"%Y/%m/%d %T" 
+1

estadística: opción ilegal - - – user754905

+1

@ user754905 ¿qué sistema operativo? OSX? intente '--format =% y', o busque' man 1 stat' – je4d

+0

Si acabo de hacer stat, obtengo esto: 234881028 33275326 drwxr-xr-x 3 root staff 0 102 "abr 17 12:02:42 2012 "" Mar 22 15:05:11 2012 "" Apr 17 11:25:37 2012 "" Mar 22 15:05:11 2012 "4096 0 0 /Users/userid/Library/test/test.app/ – user754905

1

recursiva:

ls -Rlt | head -n 2 | cut -d ' ' -f10-12 

no recursivo:

ls -lt | head -n 2 | cut -d ' ' -f10-12 
3
ls -lcdoq your_directory | awk '{print $5" "$6}' 
Cuestiones relacionadas