`

grep 搜索时忽略 .svn目录

阅读更多
grep 搜索时忽略 .svn目录

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

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

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

If you have GNU Grep, it should work like this:
grep --exclude-dir=".svn"
例如:查找当前目录以及子目录下所有包含"test"字符串的代码并打印行号

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

或者

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



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

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

在~/.bashrc文件的末尾添加以下命令:
export GREP_OPTIONS="--exclude-dir=\.svn"  

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


0
3
分享到:
评论
1 楼 wcily123 2012-08-21  
grep -nr "test" .


 

相关推荐

    grep不查找隐藏文件夹的方法.docx

    这个命令首先用`grep -R`搜索所有内容,然后通过管道传递给第二个`grep -v`,它会忽略包含`.svn`目录的行。 为了提高效率,避免每次手动输入`--exclude-dir`参数,可以在个人bash配置文件`~/.bashrc`中设置环境变量...

    linux命令关闭开启SVN

    - **日志记录**:在启动SVN服务时,可以通过重定向标准输出和错误输出到文件的方式记录服务的日志信息。 - 示例:`nohup ./svnserve -d -r /home/svn/ > /usr/blockchain/blocklogs/log.out 2>&1 &` - `> /usr/...

    centos svn服务器建立

    1. **检查 SVN 工具**:运行 `rpm -qa | grep subversion` 来查看 SVN 是否已安装。如果已安装,无需重复安装;如果没有,需要进行下一步。 2. **安装 SSL 支持**:查找 `opensslv.sh` 文件,如果未找到,运行 `yum ...

    琥珀色-代码搜索和替换工具-Rust开发

    功能有用的默认设置从当前目录递归搜索忽略VCS目录(.git,.hg,.svn,.bzr)忽略二进制文件以彩色格式输出多线程搜索分割并搜索大文件(默认情况下> 1MB)在平行下。 交互式替换琥珀色可以替换目录上的关键字(传统...

    深入理解Linux中的grep命令

    6. `grep Aug -R /var/log/*`:在/var/log及其子目录下递归搜索“Aug”。 7. `grep 'energywise' *`:在当前目录中查找包含“energywise”的文件。 8. `grep -r 'energywise' *`:在当前目录及其子目录下查找...

    详解Linux上svn命令行批量操作

    在Linux环境下使用Subversion(SVN)进行版本控制时,相较于图形界面工具如TortoiseSVN(主要针对Windows系统),使用命令行方式更为常见。本文将详细介绍如何在Linux环境中通过命令行来进行SVN的批量操作,包括批量...

    Shell脚本实现的基于SVN的代码提交量统计工具

    `statistic_codelines`函数是核心部分,它接收一个参数,通常是`svn log`命令的结果,然后通过`grep`过滤出指定开发人员的提交记录,并使用`wc -l`计算每名开发人员的提交次数。这个函数会打印出每名开发人员的提交...

    UNIX基础

    10. **grep**:搜索文件中包含特定模式的行。 11. **find**:根据条件查找文件。 12. **管道(|)**:将一个命令的输出作为另一个命令的输入。 13. **重定向(> 和 >>)**:将命令输出重定向到文件。 ### 四、进程...

    Git Community Book(中文版)

    追踪分支和使用git grep进行搜索也是这一部分的内容。Git的撤销操作包括了reset、checkout和revert等命令。 高级技能部分则深入到Git的内部机制,如创建空分支、修改历史(amend)、高级分支与合并策略、使用git ...

    linux编程命令详解

    - `grep`: 在文件中搜索特定字符串。 - `locate`: 快速查找文件,依赖于数据库更新。 4. **版本控制** - `git`: 开源的分布式版本控制系统,用于跟踪文件和代码的更改。 - `svn`: 集中式版本控制系统,常用于...

    小型Drupal数据库备份以及大型站点MySQL备份策略分享

    将此脚本放在Drupal站点根目录下,并将其添加到`crontab`中,以确保每天自动执行备份并提交到版本控制系统(如svn)。 对于【大型站点】,由于数据库规模较大,单纯依赖svn可能无法满足需求。此时,我们需要采用更...

    whit-dot-emacs:我的dot emacs文件

    Whit的.emac和.emacs.d 我的elisp便便球,是从互联网和其他开发人员的笔记本电脑的最远角落清除的。...F4-外壳F5-重命名缓冲区Esc s-grep查找,不区分大小写,忽略svn Esc g-转到行 Esc p Esc p-在pdb模式下插入跟踪

Global site tag (gtag.js) - Google Analytics