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

26

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

JW
источник

Ответы:

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.

enzotib
источник
-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" 
Прашант Савант
источник
-3

Это работает для меня:

$ find ./ -name "*.sqlite" -ls
ivaniliev
источник
4
Похоже, что это полная копия ответа @ Калеба.
Крис Даун