Я пробовал искать файлы, используя следующую команду find
find . -type f -mtime +18 -name '*[-.]20[0-9][0-9\-]*' -exec basename {} \;
Я вижу, что файлы выходят как.
handh2.access.20210429.bz2
handh2.access.20210428.bz2
handh2.access.20210502.bz2
handh2.access.20210430.bz2
Но файлов нет в каталоге
root@web38 135 0 # stat handh2.access.20210429.bz2
stat: cannot stat 'handh2.access.20210429.bz2': No such file or directory
root@web38 136 1 # ls | grep "handh2.access.20210429.bz2"
root@web38 137 1 #
Любая помощь была бы замечательной, спасибо.
Как заметили несколько человек, ваша команда find
использовала утилиту basename
для явного удаления компонентов каталога из совпадающих файлов. В результате вы не знаете, в каком (под)каталоге на самом деле находятся эти файлы.
Вы можете найти полный путь к файлам, изменив вызов find
так, чтобы он выводил полные пути:
find . -type f -mtime +18 -name '*[-.]20[0-9][0-9\-]*' -ls
или найти каждый файл по отдельности:
find . -type f -mtime +18 -name handh2.access.20210429.bz2