我有一个目录“X”和一个名为“lib”的子目录,以及其他文件和目录。这个“lib”子目录本身又包含一堆目录和文件。我试图用来find
获取目录 X 中所有内容的路径名,除了与“lib”有关的任何内容。
所以,我试着这样做:
find -not -name "lib*"
这将从输出中排除路径./lib
,但将包括 lib 目录本身中的所有内容,即lib/*
. 我也试过:
find -not -name "lib/*"
但这给了我同样的结果
PS:我也试过find -not -name lib*
了,结果还是一样
该
-name
选项find
仅查看单个文件名,而不是文件的完整路径。如果要在完整路径上匹配,则需要该-path
选项。我创建的快速测试树中的一些示例:
您正在做什么
-name
(跳过lib
自身,但不跳过其中的文件,lib
因为它只查看单个文件名):你可能想要的:
请注意,因为
-path
查看的是完整路径,所以我现在还需要添加初始./
前缀。