光辉岁月
文本处理工具之grep和egrep
- grep全称global search regular expression (RE) and print out the line
- 正则表达式(一类字符所书写的模式pattern)
- 元字符:不表示字符本身的意义,用于额外功能性的描述
- 基本正则表达式的元字符
- 字符匹配:
- .:任意单个字符
- [ ]:制定范围内的任意单个字符
- [0-9], [[:digit:]]
- [a-z], [[:lower:]]
- [A-Z], [[:upper:]]
- [[:alpha:]]
- [[:alnum:]]
- [[:space:]]
- [["punct:]]
- [^ ]:指定范围外的任意单个字符
- 次数匹配
- *:任意次
- \?:0次或1次
- \{m\}:匹配m次
- \{m,n\}:m到n次
- \{m,\}:至少m次
- \{0,n\}:至多n次
- 位置锚定(用于指定字符出现的位置)
- ^:锚定行首
- $:锚定行尾
- ^$:空白行
- \<char:锚定词首,\bchar
- char\>:锚定词尾,char\b
- 分组
- 引用:
- \1:向后引用,引用前面的第一个左括号以及对应的右括号中的模式所匹配到的所有内容
- \2
- ........ \(a.b\)xy\1: a6bxya6b,
- grep常用选项:
- -v:反向,显示不能被模式所匹配到的行
- -o:仅显示被模式匹配到的字符串,而非整行
- -i:不区分字符大小写,ignore-case
- -E:支持扩展的正则表达式
- -A:
- -B
- -C
- egrep元字符
- 字符匹配:
- .:任意单个字符
- [ ]:指定范围内的任意单个字符
- [^ ]:指定范围外的任意单个字符
- 次数匹配
- *:匹配其前面的字符任意次
- ?:匹配其前面的字符0次或1次
- +:匹配其前面的字符至少1次
- {m}:匹配其前面的字符m次
- {m,n}:m到n次
- {m}:至少m次
- {0,n}:至多n次
- 锚定
- ^:行首
- $:行尾
- \<,\b:词首
- \>,\b:词尾
- 分组
posted @
2018-06-15 14:44
taiman
阅读(
178)
评论()
编辑
收藏
举报
哈哈哈