linux正则表达式
注意事项:
a.linux正则一般以行为处理单位 grep -o 只输出匹配的内容
b.设置别名以红色显示 vi /etc/profile 添加alias grep='grep --color=auto'
c.注意字符集 LC_ALL=C
1) ^hi 表示搜索以hi开头的内容
2) hi$ 表示搜索以hi结尾的内容
3) ^$ 表示空行 grep -v ^$ hello.txt 排除hello.txt的空行
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 显示行号
sed
s 替换
g 全局
-i 修改文件
-n 取消默认输出
p 打印内容
sed -n 's#\(hello\)\(hello\)#\1\2#gp'同样适用于grep
匹配ip:ifconfig ech0 | sed -n 's#^.*dr:\(.*\) Bc.*$#\1#gp'
注意事项:
a.linux正则一般以行为处理单位 grep -o 只输出匹配的内容
b.设置别名以红色显示 vi /etc/profile 添加alias grep='grep --color=auto'
c.注意字符集 LC_ALL=C
1) ^hi 表示搜索以hi开头的内容
2) hi$ 表示搜索以hi结尾的内容
3) ^$ 表示空行 grep -v ^$ hello.txt 排除hello.txt的空行
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 显示行号
sed
s 替换
g 全局
-i 修改文件
-n 取消默认输出
p 打印内容
sed -n 's#\(hello\)\(hello\)#\1\2#gp'同样适用于grep
匹配ip:ifconfig ech0 | sed -n 's#^.*dr:\(.*\) Bc.*$#\1#gp'