IT技术博客大学习 共学习 共进步

grep 正则表达式选项要记得转义

小小子 2011-03-06 22:44:58 浏览 6,442 次

关于 grep 命令的介绍,大家可以参考这里:《grep 正则表达式及选项

使用过程中,使用最多的参数就是 -v ,但是用着并不爽。

比如说,我想查找一个单词“UserService”,但是像”*.svn” 这种文件就不用显示了,我该怎么做呢?

grep -r "UserService" ./ | grep -v "svn"

但是,如果类似于含有”test、auto_load”之类的文件我也不显示,怎么做呢?我之前的做法是:

grep -r "UserService" ./ | grep -v "svn" | grep -v "test" | grep -v "auto_load"

命令很长,而且麻烦,于是就想,grep本身是按照正则表达式来当做选项的,那么我是不是可以利用到正则表达式的“或|”命令?

grep -r "UserService" ./ | grep -v "svn|test|auto_load"

很显示,执行结果显示上面的命令不符合我的需求,于是苦思不得其解。原来,在使用正则表达式选项时,要记得将”|”转义。最终命令如下:

grep -r "UserService" ./ | grep -v "svn\|prj\|test\|auto_load"

建议继续学习

  1. bash shell里反斜杠(backslash)和字符串原文输出(无转义) (阅读 7,681)
  2. Linux grep命令用法 (阅读 6,960)
  3. 统计最近用过的linux命令 (阅读 6,401)
  4. 正则表达式基础 (阅读 6,160)
  5. 正则表达式的与或非 (阅读 5,740)
  6. 学习Grep,Sed中的正则 (阅读 5,261)
  7. URL正则表达式 (阅读 4,660)
  8. 正则表达式简要入门 (阅读 4,362)
  9. 正则转义符汇总 (阅读 4,320)
  10. 使用Oracle正则表达式监控应用到数据库的连接情况 (阅读 4,262)