如何在最后一个“/”之后删除查找返回的文字?
$ find home/a/misc/ -type f
home/a/misc/6
home/a/misc/5
home/a/misc/2
我可以通过将cut -d"/" f4
发送到find命令来实现,但问题是文件夹 misc
文件夹 a 中的文件夹并不总是存在。它可以像 / home / a / b / c / d / e / 一样。在这种情况下,它将返回文件夹 c
修改 6,5和2是文件,而不是目录。
解决
使用 -printf%f 和 find 命令完成了魔术。谢谢你们所有人
答案 0 :(得分:2)
basename
可以解决问题:
$ basename foo/bar
bar
$ find . -type f
./bar/quux/file
./foo/bar
./foo/baz
$ find . -type f -exec basename {} \;
file
bar
baz
答案 1 :(得分:1)
您可以使用basename或dirname