Vous pouvez avoir besoin de l'heure de création du fichier dans un format lisible par l'homme mais non standard pour l'utiliser dans le pipeline bash Shell Shell. Par exemple, pour préfixer le nom du fichier pour un tri approprié dans le gestionnaire de fichiers. J'ai modifié la solution de @terdon dans ce but comme suit.
get_crtime() {
for target in "${@}"; do
inode=$(stat -c '%i' "${target}")
fs=$(df --output=source "${target}" | tail -1)
crtime=$(sudo debugfs -R 'stat <'"${inode}"'>' "${fs}" 2>/dev/null |
grep -oP 'crtime.*--\s*\K.*')
printf $(date -d "${crtime}" | sed 's/://g'| sed 's/-//g')
done
}
-
date -d ...
analyse la chaîne date-heure ;
-
sed
supprime les caractères spéciaux :
y -
;
- pas de fin de ligne ajoutée.
Qui prodigue :
get_crtime .bashrc
20201023T181422