Su OS X, mi piace che la mia data sia nel formato YYYY-MM-DD HH:MM
dell'output del file.
Quindi per specificare un file vorrei usare:
stat -f "%Sm" -t "%Y-%m-%d %H:%M" [filename]
Se voglio eseguirlo su una gamma di file, posso fare qualcosa del genere:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
done
Questo esempio verrà stampato l'ultima volta che ho eseguito il sudo periodic daily weekly monthly
comando poiché fa riferimento ai file di registro.
Per aggiungere i nomi dei file in ciascuna data, esegui invece quanto segue:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
echo "$i"
done
L'output sarebbe stato il seguente:
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
Purtroppo non sono sicuro di come impedire l'interruzione di riga e mantenere il nome del file aggiunto alla fine della data senza aggiungere più righe allo script.
PS: lo uso #!/usr/bin/env bash
come un utente Python di giorno e ho versioni diverse di bash
installate sul mio sistema anziché#!/bin/bash