wyświetl znacznik czasu plików w poleceniu „znajdź”

26

W bash, jeśli użyję, $ find ./ -name "*.sqlite"wyświetli wszystkie pliki sqlite w bieżącym katalogu. Chcę również zobaczyć zmodyfikowany czas plików, czy ktoś może mi pomóc?

JW
źródło

Odpowiedzi:

34

Możesz dodać do findnastępującego wyrażenia:

-printf '%Tc %p\n'

zobaczyć coś takiego

Sun Aug 14 06:29:38 2011 ./.nx/config/host.nxs

lub -printf '%TD %TT %p\n'dla

08/14/11 06:29:38.2184481010 ./.nx/config/host.nxs

lub -printf '%T+ %p\n'jeśli masz GNU find, aby zobaczyć

2011-08-14+06:29:38.2184481010 ./.nx/config/host.nxs

Ten ostatni, jeśli jest dostępny, jest również przydatny do celów sortowania czasu.

Zobacz stronę podręcznika find, o której mówi printf.

enzotib
źródło
-printfnie działa w OS-X. Czy istnieje odpowiednik tego polecenia, które będzie działać w systemie OS-X?
WanderingMind
@WanderingMind: w OS-X proponuję zainstalować MacPorts, który udostępnia wiele aplikacji UNIX, w szczególności narzędzia GNU, takie jak GNU find.
enzotib
22

Szybki hack, aby uzyskać więcej informacji na temat znalezionych plików, findto skorzystanie z -lsopcji wyjścia.

find ./ -name "*.sqlite" -ls

Aby uzyskać bardziej precyzyjne wyniki , odpowiedź enzotib jest natychmiastowa.

Caleb
źródło
Dałem głos, ale to nie pokazuje poprawnie daty, więc na przykład trudno jest znaleźć „najnowszą”.
lpapp
To jedyne miejsce, w którym dowiedziałem się o opcji -ls, której tak bardzo potrzebowałem
Atul
-1

Użyj poniższego polecenia, aby uzyskać listę plików ze znacznikiem czasu.

$ find . -type f | xargs ls -l --time-style="+%d-%m-%Y" 
Sawant Prashant
źródło
-3

To działa dla mnie:

$ find ./ -name "*.sqlite" -ls
ivaniliev
źródło
4
To wydaje się być kompletnym duplikatem odpowiedzi @ Caleba.
Chris Down