如何在unix“find”中删除前导“./”?

时间:2010-04-07 22:54:41

标签: unix find strip

find . -type f -print

打印出来

./file1
./file2
./file3

任何使其打印的方法

file1
file2
file3

7 个答案:

答案 0 :(得分:193)

仅查找当前目录下的常规文件,并在没有“./”前缀的情况下打印它们:

find -type f -printf '%P\n'

从man找到,-printf格式的描述:

  

%P文件的名称,其中包含命令行参数的名称,用于删除它。

答案 1 :(得分:46)

使用sed

find . | sed "s|^\./||"

答案 2 :(得分:34)

如果它们只在当前目录中

find * -type f -print

这就是你想要的吗?

答案 3 :(得分:13)

它可以更短

find * -type f

答案 4 :(得分:4)

由于-printf选项在OSX find上不可用,因此这是一个适用于OSX find的命令,以防万一有人不想使用{{1 }}等:

gnu find

答案 5 :(得分:1)

剥离./

的另一种方法
find * -type d -maxdepth 0

答案 6 :(得分:0)

剥离./的另一种方法是使用cut,例如:

find -type f | cut -c3-

可以找到更多的解释here