grep

global search REgular expression and print out the line
根据你指定模式对文本每行进行过滤,把内容匹配的那行显示出来。
语法:grep [options] pattern
选项:

-i #忽略大小写(ignorecase)
-o #只显示匹配到的字符串
-v #显示没匹配到的内容,忽略匹配到字符串。
-E #用扩展正则表达式,默认支持基本正则。

-A num #显示匹配到的内容和前num(after)行
-B num #显示匹配到的内容和后num(before)行
-C num #显示匹配到的内容和内容上下num行(context)

基本正则:
字符匹配

. #任意单个字符
[] #匹配指定范围内的任意单个字符
[^]
[:space:] #表示空格          //在使用时要加上[]列如:[[:space:]]
[:punct:] #表示所有标点符号
[:lower:] #表示所有小写字母
[:upper:] #表示所有大写字母
[:alpha:] #表示所有字母(包括大小写)
[:digit:] #表示所有数字
[:alnum:] #表示所有数字和大小写字母

匹配次数

* #匹配前面字符任意次
.* #匹配任意长度任意字符
\? #匹配前面字符0次或1次
\+ #匹配前面字符1次或多次
\{m\} #匹配前面字符m次
\{m,n\} #匹配前面字符最少m次最多n次

位置锚定

^ #开头,写在pattern左侧
$ #结尾,写在pattern右侧
\<
\>

分组及引用

sed

awk(gawk)

标签: none

添加新评论