grep字符串检索时【排除】目录和文件

在Linux/Unix环境中,grep是常用的文本检索工具,但当处理包含二进制大文件的目录时,搜索会变得效率低下。文章介绍了如何通过`--exclude`和`--exclude-dir`参数排除特定文件或目录,提高grep的搜索性能,例如排除指定文件名模式、多个文件或整个目录,以及使用文件列表进行排除操作。
摘要由CSDN通过智能技术生成

在Linux/Unix下严重依赖grep来检索、查找某字符串,"grep -nrw *"几乎成了肌肉记忆,^_^

但在目录或者子目录里包含了二进制文件,尤其时巨大(>GB)的文件时,grep会非常耗时,需要从检索的目标文件里排除掉,通常有以下2种情形:

  • 排除一个或者多个文件:
#排除文件名符合某种模式(Pattern)的文件
grep -nrw network_train ./ --exclude=filename
grep -nrw network_train ./ --exclude=*.py
grep -nrw network_train ./ --exclude=*.{py,md,txt}

#排除某一批文件
grep -nrw network_train ./ --exclude-from filelist.txt

注意:参数是记录文件名列表的文件,即将所有需要排除文件的文件名定义在<filelist.txt>文件里。
  • 排除一个或者多个目录:
grep -nrw network_train ./ --exclude-dir=venv   #一个目录

grep -nrw network_train ./ --exclude-dir={venv,setup,logs}   #多个目录,

#注意:大括号内,目录名用','分隔,目录名之间不能有空隔
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值