/ / Získať dátum a čas poslednej úpravy priečinka (alebo podadresárov / priečinkov) - macos, bash

Získajte priečinok (alebo čiastkové súbory / priečinky) posledný dátum a čas zmeny - macos, bash

Je možné získať dátum a čas úpravy priečinka?
Viem, že môžete použiť stat -f "%m" folder, ale neodráža zmeny podsúborov / priečinkov.

Veci, ktoré nefungujú:

  • ls -l folder - neodráža zmeny vo vnútri priečinka
  • stat -f "%m" folder - rovnaké ako vyššie
  • date -r folder - znova to isté
  • find foo bar baz -printf - printf vo mojej verzii vyhľadávania neexistuje možnosť

Verzie vecí:

  • OS: Mac OS X 10.7.1
  • Bash: GNU bash, verzia 3.2.48 (1) - vydanie (x86_64-apple-darwin11)

odpovede:

13 pre odpoveď č. 1

Riešenie:

find . -exec stat -f "%m" {} ; | sort -n -r | head -1

vysvetlenie:

  1. na find príkaz prechádza aktuálnym adresárom (.) a pre každý zistený súbor vykoná (-exec) príkaz stat -f "%m". stat -f "%m" vytlačí časovú pečiatku unixu poslednej modifikácie.
  2. sort -n -r triedi výstup z find príkaz číselne (-n) v opačnom poradí (-r). Najprv sa uvedie časová pečiatka poslednej úpravy.
  3. head -1 potom extrahuje prvý riadok výstupu z sort, Toto je najnovšia modifikácia unixovej časovej pečiatky všetkých súborov.

5 pre odpoveď № 2

Môžete skúsiť „date -r folder“ a dať vám dátum poslednej úpravy


0 pre odpoveď č. 3

Dalo by sa to vždy získať ls :

ls -ld mydir | awk -F" "  "{ print $6 " "$7 }"