Si sous Linux, le "ls" GNU possède l'option --full-time ...
ls --full-time $TMP/a.batch
-rw-r--r-- 1 hradev hradev 932 2012-09-21 10:50:35.000000000 +0200 /hradev/txt/tmp/a.batch
... sous Unix je n'ai jamais pu trouver comment obtenir simplement la date précise de dernière modification d'un fichier ... Qui plus est avec un format d'affichage constant (et non le "mmm JJ HH:MM" qui devient un "mmm JJ YYYY" passés 6 mois) ...
Suite à une astuce relative à la commande "tar" donnée par un collègue (merci Gabriel), j'ai rédigé cette petite fonction nommée timestamp (que vous pouvez placer dans votre fichier profile). Pour l'utiliser tapez :
timestamp dirname/filename
Exemple :
/home/moi/ ls -al .profile
-rwxr----- 1 moi staff 684 Mar 16 2011 .profile
/home/moi/ timestamp .profile
Mar 16 2011 14:42:44
Ci dessous la fonction en question :
function timestamp
{
# Displays file timestamp
# french : jj mmm yyyy hh:mm:ss / english : mmm jj yyyy hh:mm:ss
#
#set -x # Uncomment to active trace mode
File=$1
if [ ! -e "${File}" ]
then
echo "usage : ${0} { filename | dirname }" >&2
return 1
else
# Creating a dummy file whith same timestamp
touch -r "${File}" /tmp/T.timestamp.$$
if [ $? -ne 0 ]
then
echo "${0} : Could not create temporary file in /tmp" >&2
return 1
else
# LANG=fr_FR # Uncomment to force french format
# LANG=en_EN # Uncomment to force english format
# Tar and untar this file to catch its timestamp, then print it
tar -cf - /tmp/T.timestamp.$$ | tar -tvf - | awk '{print $5" "$6" "$8" "$7}'
# Removing the dummy file
rm -f /tmp/T.timestamp.$$
return 0
fi
fi
}
ls -l --time-style=full-iso $TMP/a.batch
RépondreSupprimer-rw-rw-r-- 1 hr9de5 hr9de5 196 2019-01-10 16:30:22.000000000 +0100 /hradev/txt/tmp/a.batch
ls -l --time-style=long-iso $TMP/a.batch
-rw-rw-r-- 1 hr9de5 hr9de5 196 2019-01-10 16:30 /hradev/txt/tmp/a.batch
ls -l --time-style=iso $TMP/a.batch
-rw-rw-r-- 1 hr9de5 hr9de5 196 01-10 16:30 /hradev/txt/tmp/a.batch
ls -l --time-style=locale $TMP/a.batch
-rw-rw-r-- 1 hr9de5 hr9de5 196 10 janv. 16:30 /hradev/txt/tmp/a.batch
ls -l --time-style=+%Y%m%d-%H%M%S $TMP/a.batch
-rw-rw-r-- 1 hr9de5 hr9de5 196 20190110-163022 /hradev/txt/tmp/a.batch