![如何从 find 命令仅返回文件名?](https://linux22.com/image/1370833/%E5%A6%82%E4%BD%95%E4%BB%8E%20find%20%E5%91%BD%E4%BB%A4%E4%BB%85%E8%BF%94%E5%9B%9E%E6%96%87%E4%BB%B6%E5%90%8D%EF%BC%9F.png)
我希望在从终端执行 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