Команда поиска показывает, что файлы присутствуют, но не найдены в каталоге.

Я пробовал искать файлы, используя следующую команду 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 # 

Любая помощь была бы замечательной, спасибо.

1
задан 3 June 2021 в 12:28

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
1
ответ дан 28 July 2021 в 11:33

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

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