Я хотел увидеть все файлы, измененные за последние 10 дней, и кто их владелец, поэтому я ввел следующее, чтобы получить представление о том, сколько результатов будет возвращено:
find . -maxdepth 1 -mtime -10
Затем я отдал команду;
find . -maxdepth 1 -mtime -10 -exec ls -lh {} \;
Обе команды дают очень разный результат, но я не понимаю почему. Может кто-нибудь объяснить, что происходит и почему они дают разные результаты?
решение1
Поскольку вы не используете option -type f
, find
вернет все папки и файлы. Во второй команде, если папка найдена, команда ls -lh
выведет список ее содержимого, что даст больше результатов, чем первая команда.
$ find . -maxdepth 1 -mtime -10 | wc -l
63
$ find . -maxdepth 1 -mtime -10 -exec ls -lh {} \; | wc -l
313
Вам следует использовать:
find . -maxdepth 1 -type f -mtime -10
find . -maxdepth 1 -type f -mtime -10 -exec ls -lh {} \;
для вывода только списка файлов.