1.使用管道进行双层“过滤”,其中第二次grep使用了-v选项,即逆向匹配,打印出不匹配的行
grep -r 'function_name' * | grep -v '.svn'
2.或者更简单一些,直接使用--exclude-dir选项,即指定排除目录,注意svn前的 \.
grep -r --exclude-dir=\.svn 'function_name' *
的确,通过简单的选项设置,我们达到了过滤.svn目录的功能,但是每次都要输入 --exclude-dir=\.svn 的选项,似乎太麻烦了一点,幸运的是linux下灵活的配置文件可以解决这一切:
打开 ~/.bashrc (这是bash的当前用户配置文件),在文件的最上方添加这样一条:
export GREP_OPTIONS="--exclude-dir=\.svn"
(注意 = 的前后不能有空格,不然在载入该配置文件时会提示错误)
保存并关闭,同时在命令行键入如下命令:
source ~/.bashrc (让bash重新读取脚本)
当然,你也可以简单地关闭shell并重新打开一个shell窗口
相关文章
- linux必学的60个命令大全
- 【古月21讲】ROS入门系列(1)——ROS命令工具的使用及创建工作空间和功能包
- Linux- 系统随你玩之--玩出花活的命令浏览器-双生姐妹花
- 【Docker】之docker-compose的介绍与命令的使用
- jQuery中的表单对象属性过滤选择器(四、八)::enabled、:disabled、:checked、:selected
- jQuery中的属性过滤选择器(四、五):[attribute] 、[attribute=value]、[attribute!=value] 、[attribute^=value] 等
- 总结自己的Git常用命令
- VUE过滤器的使用 vue 时间格式化
- angularjs中的filter(过滤器)——格式化日期的date
- 从命令行启动Java程序出现“错误:找不到或无法加载主类“的解决办法