Es curioso y hasta un poco vergonzoso que despues de 10 años usando parientes del UNIX, no haya descubierto el comando "stat". O peor aún, que nunca me haya hecho falta... Porque ayer quería guardar la fecha de creación de un fichero en un parámetro, y usar el 'ls' y el 'cut' me parecía muy chungo.
Entonces es cuando descubrí el comando 'stat' que es mucho más propio para estas cosas:
NAME
stat, readlink -- display file status
SYNOPSIS
stat [-FLnq] [-f format | -l | -r | -s | -x] [-t timefmt] [file ...]
readlink [-n] [file ...]
DESCRIPTION
The stat utility displays information about the file pointed to by file.
Read, write or execute permissions of the named file are not required,
but all directories listed in the path name leading to the file must be
searchable. If no argument is given, stat displays information about the
file descriptor for standard input.
Para mi problema perfecto, pude obtener la fecha de modificación del fichero, aunque hiciera falta crear unas cadenas un poco incomprensibles de 'strftime' y algo parecido al 'printf':
prefix=$( stat -f "%Sm" -t "%G-%m" $fichero )
prefix=2004-06
Y vale para mostrar muchos más datos (aparte de las fechas). Un comando muy util este 'stat'. Por cierto, que tal vez haya una explicación de que no conociese este comando, porque podría existir sólo en algunos tipos de BSD... ¿Que comando equivalente habrá en las GNU fileutils?
HISTORY
The stat utility appeared in NetBSD 1.6.