find命令排除目录
Find 命令排除目录,有好几种写法,建议直接看第三和第四种。
第一种:
语法:
find <path> [-path <path> -prune -o] [...] -print
中括号是可选项,[...] 代表前面的可选项可以多次重复
譬如:
find . -path ./venv -prune -o -path ./build -prune -o -name "*.py" -print
查找当前目录下的
*.py
, 排除掉./venv
和./build
目录.-path ./venv -prune
是跳过某个目录。-o
代表 或 的关系。
第二种:
语法:
find <path> \( [-path <path> -o] [...] \) -prune -o -print
和第一种类似,只不过将多个排除的路径放在了 ()
中,注意括号用 \
转义
譬如:
find . \( -path ./venv -o -path ./build \) -prune -o -name "*.py" -print
第三种:
这种方式使用了 -not
语法:
find <path> [-not -path <path_pattern>] [...]
注意:这里的 <path_pattern>
是一个带通配符的模式,还需要加上引号,如:'./venv/*'
find . -not -path './build/*' -not -path './venv/*' -name "*.py"
第四种:
语法和第三种一样,只不过 -not
可以用 !
来替换:
find <path> [ ! -path <path_pattern>] [...] -print
譬如:
find . ! -path './build/*' ! -path '*/venv/*' -name "*.py"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?