grep就linxu和unix下常用的工具.作用是从文件或规范输入中筛选出包含某个正则表达式能匹配的文本行,并将其输出!可以说在某些情况下掌握grep的使用,可以使自己的事半功倍.
工具/原料
-
- Linux操作系统建议使用(CentOS5.x)版本.
- 感谢鸟哥私房菜中http://linux.vbird.org/linux_basic/0330regularex/regular_express.txt
方法/步骤
-
- 1
基本用法 : grep [选项] 正则表达式 [文件]
为了防止正则表达式被shell错误解释,所以我强烈建议把正则表达式中的*,[上海性病医院,]之类在写正则表达式的时候加上单引号.
例如:查找test.txt中所有包含is的行
grep is test.txt
或者
grep ‘is‘ test.txt
推荐使用后者,检索结果如下:
- 2
如果你喜欢用变量可以这样写
首页设置一个检索的变量,上海最好的性病医院然后用双引号引起来这点和很多编程语言有点类型双引号可以解析变量例如php,perl等
结果如下:
- 3
还可以利用字符组例如
从test.txt中检索出来包含字符大写O和T的行,你可以这样写
结果如下:
- 4
在文件中匹配单词,一般我们用的是\b,但是在grep中用的\<和\>代替
从test.txt中检索The单词的行
结果如下:
- 5
当然也可以在grep中使用量词如*,+,?.{n,m}其中*可以直接使用,别的使用时候必须转义也就是在前面加反斜线\如\+,\?,\{n,m\}
从test.txt中检索g,go,goo之类的行,其他量词用法类似
结果如下:
- 6
也许你会好奇多选怎么用那?grep支持多选,但是和量词一样都必须转义才可以使用(,|,),写的时候必须写成\(字符串1\|字符串2\)
从test.txt中检索best和dress的行
结果如下:
- 7
上面说了那么多都是基础不过也是最核心的,下面重点说一下grep的常用参数的使用
-i 不区分大小写
-v 不匹配也可以说是排除
-w 只匹配单词
-n 显示行数
-r 递归查找(这个必记参数,例如你要到某个目录下面找那个函数特有用) 这个记得看 我的练习目录发生了变化
END
- 1
注意事项
- grep使用的时候记得加文件名不然后卡到哪里不动