перерахуйте часову позначку файлів у команді «знайти»


26

Якщо я використовую bash, $ find ./ -name "*.sqlite"він перелічить всі файли sqlite в поточному каталозі. Я також хочу побачити модифікований час файлів, хтось може мені допомогти?

Відповіді:


34

Ви можете додати до findнаступного виразу:

-printf '%Tc %p\n'

побачити щось подібне

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

або -printf '%TD %TT %p\n'за

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

або -printf '%T+ %p\n'якщо у вас є GNU find, щоб побачити

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

Останній, якщо він є, також корисний для цілей сортування за часом.

Див. Сторінку керівництва find, де йдеться printf.


-printfне працює в OS-X. Чи є еквівалент цієї команди, який буде працювати для OS-X?
WanderingMind

@WanderingMind: в OS-X я пропоную встановити MacPorts, який надає багато додатків UNIX, зокрема інструменти GNU, як GNU find.
enzotib

22

Швидкий злом, щоб отримати більш детальну інформацію про знайдені файли, find- це використовувати-ls опцію виводу.

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

Для більш точних результатів відповідь ензотиба - це місце.


Я дав заяву, але ця дата не відображається належним чином, тому важко знайти, наприклад, "новітню".
lpapp

Це єдине місце, де я дізнався про варіант -ls, який мені дуже потрібен
Atul

-1

Використовуйте команду нижче, щоб отримати список файлів із позначкою часу.

$ find . -type f | xargs ls -l --time-style="+%d-%m-%Y" 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.