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?

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.


-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.


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" 

-3

To działa dla mnie:

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

4
To wydaje się być kompletnym duplikatem odpowiedzi @ Caleba.
Chris Down
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.