[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] ¿Como obtener la fecha de un fichero?




El 23/03/2006, a las 21:16, Claude Micouin escribió:

	en una carpeta, tengo estos dos ficheros.
$ls -l
total 2356
-rwxr-xr-t  1 pepe pepe  732691 2006-03-23 20:55 fichero1
-rwxr-xr-t  1 pepe pepe 1668019 2006-03-23 21:00 fichero2

	¿Hay una manera de obtener estas fechas?

¿Qué fecha quieres obtener? En UNIX existen 3 fechas: atime, ctime, mtime:

* atime == fecha del último acceso al fichero
* mtime == fecha de la última modificación del fichero
* ctime == fecha de cambios en el fichero a nivel de inodo, por ejemplo: permisos, propietarios, etc..

Se me ocurre que la forma mas cómoda de obtener cualquiera de estos tres valores es el con el comando "stat", te saca si quieres la salida ya formateada o tambien en formato epoch para posterior tratamiento con el comando "date", por ejemplo, para formatearla a tu gusto :-)

$ stat -c %x find.txt
2006-03-23 23:42:48.160308760 +0100

$ stat -c %X find.txt
1143153768

Como ya te han indicado tambien puedes tirar de "awk", un ejemplo para mostrar fecha y hora:

$ ls -l find.txt | awk ' { print $6 " " $7} '
2006-02-20 00:56

En este caso muy recomendable pasar el parametro "--full-time" a "ls" para que te muestre la fecha en formato largo, en algunas compilaciones de las "coreutils" la fecha aparece acortada..

$ ls -l --full-time find.txt | awk ' { print $6 " " $7} '
2006-02-20 00:56:49.000000000

Saludos,

--
Santi Saez


Reply to: