Как вывести список файлов без каталогов с определенным временем

Я хочу перечислить все мои файлы, начиная с моего домашнего каталога, который был создан или обновлен за последние 10 часов.

ls -l | find /home/$user -mmin -600 | grep -v '^d'

Я пробовал это, но это дает мне неправильный результат.

1
задан 5 December 2017 в 01:35

2 ответа

Нет необходимости в ls -l. Например, ваша строка должна быть, если вы хотите, чтобы файлы имели максимальный возраст 600 минут:

find /home/$USER -mmin -600 | grep -v '^d'

не уверены, почему вы хотите пропустить все файлы, начинающиеся с d, но это ваша вещь, которую нужно знать. если вы хотите искать каталоги, ваша команда должна быть:

find /home/$USER -type d -mmin -600

, и если вы просто хотите, чтобы только все файлы были изменены за это время:

find /home/$USER -type f -mmin -600

из man-страницы для команда find Manpage icon

-mmin n

   File's data was last modified n minutes ago

Числовые аргументы могут быть указаны как

   +n     for greater than n,

   -n     for less than n,

   n      for exactly n.
1
ответ дан 5 December 2017 в 01:35

используйте -not -type d вместо grep -v '^d'

find /home/$USER -mmin -600 -not -type d

или просто -type f

3
ответ дан 5 December 2017 в 01:35

Другие вопросы по тегам:

Похожие вопросы: