Find 命令在指定路径中搜索筛选文件,并排除非期望目录。
第一种:
语法:
find <path> [-path <path> -prune -o] [...] 
中括号是可选项,[...] 代表前面的可选项可以多次重复
譬如:
find ./openembedded-core -path ./openembedded-core/meta/recipes-support -prune -o -name "*.bb" 
查找当前目录
openembedded-core文件夹下的*.bb, 排除掉./openembedded-core/meta/recipes-support目录
第二种:
语法:
find <path> \( [-path <path> -o] [...] \) -prune -o
和第一种类似,只不过将多个排除的路径放在了 () 中,注意括号用 \ 转义
譬如:
find./openembedded-core -path\( -path ./meta-openembedded -o -path ./build \) -prune -o -name "*.bb"
第三种:
这种方式使用了 -not
语法:
find <path> [-not -path <path_pattern>] [...]
注意:这里的 <path_pattern> 是一个带通配符的模式,还需要加上引号,如:'./meta-openembedded/*'
find./openembedded-core-not -path './build/*' -not -path './meta-openembedded/*' -name "*.bb"
第四种:
语法和第三种一样,只不过 -not 可以用 ! 来替换:
find <path> [ ! -path <path_pattern>] [...] 譬如:
find./openembedded-core! -path './build/*' ! -path '*/meta-openembedded/*' -name "*.bb"
  
                    
                     
                    
                 
                    
                 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号