W systemie OS X wolę, aby moja data była w formacie pliku YYYY-MM-DD HH:MMwyjś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 monthlypolecenie, 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 bashponieważ jestem użytkownikiem Pythona w ciągu dnia i bashzamiast tego mam różne wersje zainstalowanego w moim systemie#!/bin/bash