linux三剑客之一 grep
linux的三剑客包括:grep、awk、sed;目前这三个我也就接触到了grep;我自行查了一下,sed是一种流编辑器、awk是一个报表生成器,主要用于格式化输出;
1、作用
grep命令是linux系统中一种强大的文本搜索工具,配合正则表达式搜索文本,可以准确的搜索,并把匹配的行打印出来。
2、格式
grep [options]
我自己接触到的第一个grep命令是 grep aaa.dd -rn ./*
经学习查询,该命令中参数的意思是 aaa.dd为要搜索的文本;-r 是递归查找;-n是输出行号;./*在当前目录下查找。
3、主要参数
[options] 主要参数。
-c:只输出匹配行的计数。
-C:除了匹配行,额外显示改行前后的N行。
-i:不区分大小写(只适用于单字符)。
-e:实现多个选项间的逻辑or关系。
-E:支持扩展的正则表达式。
-n:显示匹配的行号。
-r:递归查找。
-o:仅显示匹配到的字符串。
-q:安静模式,不输出任何信息,脚本中常用。
4、grep命令使用简单举例
$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。
注:以上内容为学习随笔