查找命令显示文件存在但在目录中找不到

查找命令显示文件存在但在目录中找不到

我尝试使用以下查找命令搜索文件

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

正如一些人评论的那样,您的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

相关内容