Sous OS X, j'aime que ma date soit au format de YYYY-MM-DD HH:MM
dans la sortie du fichier.
Donc, pour spécifier un fichier, j'utiliserais:
stat -f "%Sm" -t "%Y-%m-%d %H:%M" [filename]
Si je veux l'exécuter sur une gamme de fichiers, je peux faire quelque chose comme ceci:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
done
Cet exemple s'imprimera la dernière fois que j'ai exécuté la sudo periodic daily weekly monthly
commande car elle référence les fichiers journaux.
Pour ajouter les noms de fichiers sous chaque date, j'exécuterais plutôt ce qui suit:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
echo "$i"
done
Le résultat serait le suivant:
2016-40-01 16:40
/var/log/daily.out
2016-40-01 16:40
/var/log/monthly.out
2016-40-01 16:40
/var/log/weekly.out
Malheureusement, je ne sais pas comment empêcher le saut de ligne et conserver le nom du fichier ajouté à la fin de la date sans ajouter plus de lignes au script.
PS - J'utilise en #!/usr/bin/env bash
tant qu'utilisateur Python de jour, et j'ai différentes versions de bash
installées sur mon système au lieu de#!/bin/bash