使用 find 查找文件名

使用 find 查找文件名

如何在使用 find 命令时获取文件名?当我使用 find 命令从目录和子目录中搜索特定类型的文件时,我得到了该文件的完整路径,我如何只获取文件名?我面临的问题是,当我将找到的文件移动到存档目录时,它显示“没有这样的目录”,这是因为我在搜索文件时获得了完整路径。

答案1

basename命令将仅提供文件的名称而不是完整路径,您可以像这样在找到的文件上执行该命令:

find . -name filename -exec basename {} \;

答案2

使用find ... -printf '%f\n'

或者,解决您提出的问题:

find ... -name FOO -print0 | xargs --no-run-if-empty --null mv --target-directory=TARGET

相关内容