砍掉find的输出的最后一个字段?

时间:2009-12-30 07:06:10

标签: linux

如何在最后一个“/”之后删除查找返回的文字?

$ 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 命令完成了魔术。谢谢你们所有人

2 个答案:

答案 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