Я хочу перечислить все мои файлы, начиная с моего домашнего каталога, который был создан или обновлен за последние 10 часов.
ls -l | find /home/$user -mmin -600 | grep -v '^d'
Я пробовал это, но это дает мне неправильный результат.
Нет необходимости в 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
-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.
используйте -not -type d
вместо grep -v '^d'
find /home/$USER -mmin -600 -not -type d
или просто -type f