linux正则表达式教程(linux文本处理之正则匹配)
linux正则表达式教程(linux文本处理之正则匹配)7).* :匹配所有的字符。^.* 任意多个字符开头。6)* :重复0个或多个前面的一个字符,不代表所有。3)^$ :空行4). :表示且只能代表任意一个字符(当前目录,加载文件)5) \ :转译字符,让有着特殊身份的字符,变回原来的字符。
正则表达式正则表达式就是一套处理大量的字符串而定义的规则和方法。
通过正则表达式这些特殊字符号,可以快速的过滤、替换需要的内容。
基础正则表达式(Basic regular expression)
1) ^ :例如 ^word 以word开头的内容
2)$ :例如 word$ 以word结尾的内容
3)^$ :空行
4). :表示且只能代表任意一个字符(当前目录,加载文件)
5) \ :转译字符,让有着特殊身份的字符,变回原来的字符。
6)* :重复0个或多个前面的一个字符,不代表所有。
7).* :匹配所有的字符。^.* 任意多个字符开头。
8)[abc] :匹配字符集合内任意一个字符[a-z]
9)[^abc] :^在中括号表示非,表示不包含a或者b或者c
10){n m} :前一个字符,重复n到m次
{n } :至少N次,多了不限。
{n} :N次
{ m} :最多m次,少了不限。
注意:grep 要对{转义} \{\} ,egrep (grep -E )不需要转义
grep 命令:
-v 排除匹配的内容
-E 支持扩展的正则表达式
-i 忽视大小写
-o 只显示匹配的内容
--color=auto 显示匹配颜色
-n 显示行号
测试内容:
word1
word2word3word4word5
word1word1word1word1
ppppppp
ptp
获取空行(加上-n查看空行是哪几行):
grep -E -n '^$' /tmp/1.txt
结果:
5:
获取以w开通的行:
grep --color=auto -E '^w' /tmp/1.txt
结果:
word1
word2word3word4word5
word1word1word1word1
获取以1为结尾的行:
grep --color=auto -E "1$" /tmp/1.txt
结果:
word1
word1word1word1word1