默认的grep会搜索所有文件,包括隐藏文件夹下的文件。

例如,使用如下命令搜索MediaButton字符串,搜索结果包含隐藏文件夹下的文件。

grep -nr MediaButton *

如果是用svn管理的代码,每个文件夹下都有一个.svn的隐藏文件夹,包含对代码版本的控制信息,日积月累会越来越庞大。所有如果只是默认搜索的话,很多搜索结果都是svn目录下的,对我们来说,是没有价值的内容;而且还会耗费很多时间。

grep的--exclude-dir=参数就是为了排除某个目录的,即不包含等号后面的目录,所以我们可以利用此参数去掉.svn的隐藏目录。

--exclude-dir=参数的用法如下:

1. If you have GNU Grep, it should work like this:

grep --exclude-dir=".svn"

例如:查找当前目录以及子目录下所有包含"MediaButton"字符串的代码并打印行号

grep -nr --exclude-dir=".svn" MediaButton *

或者

grep -nr --exclude-dir=\.svn MediaButton *

--exclude-dir=后面要排除的目录用双引号括起来或者直接接目录名都可以,但是特殊字符必须用转义符表示,例如".svn"中的"."。

2.If happen to be on a Unix System without GNU Grep, try the following:

这种方式是使用管道进行双层“过滤”,其中第二次grep使用了-v选项,即逆向匹配,打印出不匹配的行

grep -R "whatever you like" *|grep -v "\.svn/*"

3. 如果每次都输入--exclude-dir=参数,是不是很慢还容易出错,降低效率呢?

不过不用担心,我们可以把--exclude-dir=参数通过加入配置文件~/.bashrc (这是bash的当前用户配置文件) 的方法来简化操作,提高效率。

在~/.bashrc文件的末尾添加以下命令:

export GREP_OPTIONS="--exclude-dir=\.svn"

然后保存,执行source ~/.bashrc或者. ~/.bashrc,使修改起作用。

然后搜索时,执行以下命令即可:

grep -nr MediaButton *

这样默认就会加载GREP_OPTIONS选项,不搜索.svn目录。

需要注意的是,GREP_OPTIONS这个关键词不能修改为其他的,否则系统就不会认为是grep的一个选项参数了。

linux 略过目录,Linux命令-----grep不查找隐藏文件夹(或者跳过某些文件夹)的方法...相关推荐

  1. linux下进入隐藏文件夹命令,Linux命令-----grep不查找隐藏文件夹的方法

    默认的grep会搜索所有文件,包括隐藏文件夹下的文件. 例如,使用如下命令搜索MediaButton字符串,搜索结果包含隐藏文件夹下的文件. grep -nr MediaButton * 如果是用sv ...

  2. linux 跳转到文件夹,一步到位,linux下查找并跳转文件夹

    关键:把find的结果(目标文件夹或目录)作为参数交给cd 1 问题和需求: 假设只记得在某个路径里有一个名称中包含了"WPS"3个字母的文件夹,但是具体路径想不起来了.现在需要找 ...

  3. 7.Linux文件管理命令---grep:查找字符串

    7.Linux文件管理命令-grep:查找字符串 文章目录 Linux文件管理命令 grep:查找字符串 1.匹配模式选择 2.杂项 3.输入控制 4.文件控制 练习案例 Linux文件管理命令 gr ...

  4. linux php 上级目录,Linux目录架构详解_php

    linux和Windows操作系统的显著区别之一就是目录架构的不同.Linux操作系统的目录架构遵循文件系统层级结构标准.不知你是否使用ls命令浏览过Linux的根目录"/",亲爱 ...

  5. linux的lib目录,Linux 目录结构:/lib 分析

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 我们在之前的文章中已经分析了其他重要系统目录,比如 /bin./boot./dev. /etc 等.可以根据自己的兴趣进 ...

  6. linux maven .m2文件夹,maven本地仓库.m2文件夹路径讲解

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Depen ...

  7. linux 解压zip 空格,如何在linux系统下对文件夹名有空格的文件夹进行操作,linux空格...

    如何在linux系统下对文件夹名有空格的文件夹进行操作,linux空格 在Windows操作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹, 而在linux则需要进行一些特殊的处理才能实现以 ...

  8. Linux上新建文件夹并将另一个文件夹移动进来

    场景 在Linux上新建一个文件夹,并将另一个文件夹移动到新建的文件夹内. 实现 新建文件夹: mkdif  文件夹名字 比如: mkdir a 移动文件夹b到问价夹a中: mv b a 举例:

  9. python程序实现:linux环境下,将一个文件夹内的所有.tar.gz压缩文件解压缩到同名子文件夹内,没有子文件夹时重新建立同名子文件夹,使得它们相互独立。

    # 命名为untar.pyimport tarfile import os# 获得目录下的所有文件 def get_file_name(file_dir):L = []for root, dirs, ...

最新文章

  1. git 提交丢失Warning, you are leaving 2 commits behind,
  2. 我写的代码,又被CTO骂了......
  3. RISC-V生态未来的三种可能~
  4. linux signal 符号表,铁路信号图形符号
  5. 用Visual Studio2019自定义项目模板
  6. Java商品信息查询
  7. 首篇NLP图神经网络综述!127页文档让你全面了解这个领域
  8. php解析json里的hson_这种json字符串PHP如何解析?
  9. java通过证书获取CN_java – 从证书DN解析CN [重复]
  10. JS中的逻辑运算符、||,位运算符|,
  11. Java速成系列-02-Java的版本
  12. 2021年危险化学品经营单位安全管理人员新版试题及危险化学品经营单位安全管理人员模拟考试系统
  13. 【摩尔吧】Altium 17 OT6166全景行车记录仪六层高速PCB设计实战视频
  14. 感性电路电流计算_如何计算电机的电流?跟转速有关系吗?附案例分析
  15. netty 给指定用户推送消息_Netty实战:设计一个IM框架就这么简单!
  16. 搬家公司会帮忙打包东西吗?一条龙服务
  17. 《关于我同学拿我照片网恋这件事所引发的学习之旅》(1)
  18. 使用环信sdk做一个简单的聊天APP
  19. 连接无线路由器显示windows找不到证书来登录无线网络
  20. script 脚本标签中 defer 和 async (延缓 和 异步)

热门文章

  1. linux基础知识全面总结,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  2. 【医疗人工智能论文】使用深度强化学习的腹腔镜机器人辅助训练
  3. 2022年武汉市小微企业服务补贴券签约服务机构申报条件、材料和申报方式
  4. linux命令进入bios设置,linux系统肿么进入bios
  5. Part1---3.数据库编程与完整性
  6. 创新创业大赛计算机,计算机学院第六届创新创业大赛圆满结束
  7. 微信小程序 | 一文总结全部营销抽奖功能
  8. 基于exif信息进行图片方向旋转修正
  9. macbook苹果电脑新手快速上手
  10. python显示输入法候选框_CentOS6.4 中文输入不显示候选框问题解决方案