默认的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下文件夹的创建、复制、剪切、重命名、清空和删除命令...

    在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一.目录创建 在/home/wwwroot目录下新建一个sinozzz123的 ...

  2. linux 垃圾桶命令,linux下的一些好用的命令行

    linux下的一些好用的命令行 添加环境变量 Linux 中需要将 libjakaAPI.so 和 jkrc.so 放在同一个文件夹下,并添加当前文件夹路径到环境变量, 使用命令 export LD_ ...

  3. 关于linux下目录树的查看TEEE命令

    关于linux下目录树的查看<TEEE命令> 有时我们需要生成目录树结构: 这时需要用到TREE命令: 关于TREE命令的一些参数: 常见的用法: tree -a 显示所有 tree -d ...

  4. 构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock

    构建LINUX下的入侵检测系统--LIDS   系统管理命令--vlock http://blog.chinaunix.net/uid-306663-id-2440200.html LIDS官方网站: ...

  5. 启动mq命令 linux,RocketMQ:Linux下启动server和broker的命令

    目录 QUESTION:RocketMQ:Linux下启动server和broker的命令? ANSWER: 一.启动mqnamesrv 1.1当前执行 1.2后台运行 二.启动mqbroker 2. ...

  6. RocketMQ:Linux下启动server和broker的命令

    目录 QUESTION:RocketMQ:Linux下启动server和broker的命令? ANSWER: 一.启动mqnamesrv 1.1当前执行 1.2后台运行 二.启动mqbroker 2. ...

  7. Linux 下五个顶级的开源命令行 Shell

    这个世界上有两种 Linux 用户:敢于冒险的和态度谨慎的. 其中一类用户总是本能的去尝试任何能够戳中其痛点的新选择.他们尝试过不计其数的窗口管理器.系统发行版和几乎所有能找到的桌面插件. 另一类用户 ...

  8. Linux下软件安装和删除的命令

    Linux下软件安装和删除的命令 1. rpm 安装 rpm -ivh *.rpm 2. rpm 查询 rpm -q(a) *.rpm 3. rpm 删除 rpm -e *.rpm 4. yum 安装 ...

  9. linux下mysql数据库基础及客户端命令详解

    linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...

  10. linux下设置SMTP服务器并用mail命令发送邮件精解

    在linux下设置SMTP服务器并用mail命令发邮件精解步骤: 1.vi /etc/mail.rc 在末尾追加如下内容: set from=user@domain.com    //默认对外发送邮件 ...

最新文章

  1. 哪一类功率放大电路效率最高_最简单逆变器电路讲解计算,电工电子动手学技术,电路好案例推荐...
  2. MWC 2015:Peel全面升级为用户打造智能家居控制新体验
  3. MySQL解决root用户密码丢失问题
  4. SqlServer中怎样从Excel中导入数据
  5. 频率概率与贝叶斯概率
  6. 深入理解Android音频框架AudioTrack到AudioFlinger及Mix过程
  7. php对接亿乐社区,亿乐社区对接教程
  8. 一篇文章学会Yaml的语法超详细(建议收藏)
  9. My97datepicker时间控件的简单使用
  10. [thrift] thrift基本原理及使用
  11. [geoserver] appears to have started a thread named [FileSystemWatcher-1] but has failed to stop it.
  12. 流式Json数据生成器
  13. dns劫持解决方法有哪些、dns劫持什么意思
  14. 牛市真的来了吗?牛市还能留多久?
  15. 计算思维(美国CMU周以真教授)
  16. AddHeader使用方法
  17. SQL应用:使用SQL分析索尼公司销售数据
  18. F2FS源码分析-2.1 [F2FS 读写部分] F2FS文件数据组织方式以及物理地址的映射
  19. Linux NFS网络文件系统
  20. Simple Linear Regressions 简单线性回归 (R)

热门文章

  1. 如何打开倾斜摄影数据osgb
  2. STM32 SWD 只能下载一次的问题
  3. 你深入解析过java虚拟机:C1编译器,从HIR到LIR吗?
  4. PhpSpreadsheet读取excel
  5. No pyvenv.cfg file
  6. 没有 XXX 的手册页条目
  7. 设置里怎么开启微信定位服务器,微信定位开启怎么设置(如何开启微信定位功能)...
  8. 【CXY】JAVA基础 之 Collections
  9. Android中自定义注解处理器
  10. 打印一年内任意月份的日历(C语言)