W systemie OS X wolę, aby moja data była w formacie pliku YYYY-MM-DD HH:MM
wyjściowego.
Aby więc określić plik, którego użyłbym:
stat -f "%Sm" -t "%Y-%m-%d %H:%M" [filename]
Jeśli chcę uruchomić go na wielu plikach, mogę zrobić coś takiego:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
done
Ten przykład zostanie wydrukowany, gdy ostatnio uruchomiłem sudo periodic daily weekly monthly
polecenie, ponieważ odwołuje się do plików dziennika.
Aby dodać nazwy plików pod każdą datą, uruchomiłbym zamiast tego następujące:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
echo "$i"
done
Wynik byłby następujący:
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
Niestety nie jestem pewien, jak zapobiec złamaniu wiersza i zachować nazwę pliku na końcu daty bez dodawania kolejnych wierszy do skryptu.
PS - używam, #!/usr/bin/env bash
ponieważ jestem użytkownikiem Pythona w ciągu dnia i bash
zamiast tego mam różne wersje zainstalowanego w moim systemie#!/bin/bash