укажите временную метку файлов в команде «найти»


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.
энзотиб

22

Быстрый способ получить более подробную информацию о найденных файлах find- использовать -lsопцию вывода.

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

Для более точных результатов ответ энзотиба точен .


Я дал голосование, но это не показывает дату должным образом, поэтому трудно найти, например, «самый новый».
lpapp

Это единственное место, где я узнал о опции -ls, которая мне очень нужна
Атул

-1

Используйте команду ниже, чтобы получить список файлов с отметкой времени.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.