如何从 find 命令仅返回文件名?

如何从 find 命令仅返回文件名?

我希望在从终端执行 find 命令时获取仅包含文件名(不包含其余路径)的列表。如何在 Mac 上实现此目的?

答案1

使用基本名称:

find . -type f -exec basename {} \;

答案2

Evilsoup 提到,发布的内容不适用于带空格的文件名。因此,您可以使用:

find . -type f -print0 | while IFS= read -r -d '' filename; do echo ${filename##*/}; done

答案3

使用 GNU find,您可以执行以下操作:

 find ~/tmp/ -printf "%f\n"

这在 OS X 上也许也值得尝试。

答案4

编辑

使用sed

$ find . -type f | sed 's/.*\///'

使用参数命令,正如@nerdwaller 的回复中提到的

$ find . -type f -print0 | xargs --null -n1 basename

相关内容