1. 正则表达式与命令中的通配符是有区别
#ll *.sh ==这是通配符
linux一般是以行为单位进行处理
如果乱码,则需设置字符集: LC_ALL=C
grep 命令
-v 表示排除掉匹配的行
-o 只输出匹配的内容
-E 表示特殊字符不需要转义
-i 忽略大小写
--color=auto 匹配的内容显示颜色
-n 在行首显示行号
sed 命令
s替换
g全局
p打印
-i 修改文件
-n 取消默认输出
#sed 's/查找内容/替换内容/g' file.txt ==其中/可用#@等替换
#sed 's/()/\1/g' ==其中\1表示第1个括号内容,以此类推
取ip和广播地址
# sed -n 's/^.* inet \(.*\) brd \(.*\) s.*$/\1 \2/p' ipaddr.txt
egrep 相当 grep -E
2. 基础正则表达式:BRE-basic regular expression
a> ^word 表示搜索以word开头的内容
#grep "^1" ipaddr.txt
b> word$ 表示搜索以word结尾的内容
#grep "er$" ipaddr.txt
c> ^$ 表示空格
#grep "^$" ipaddr.txt
#grep -v "^$" ipaddr.txt == -v表示过滤掉
d> . 表示且只能代表任意一个字符 eg: \. 只表示小数点
e> \ 表示转义字符,请有着特殊身份意义的字符,脱掉马甲,还原原型
f> * 表示重复0个或多个前面的一个字符,不代表所有
g> .* 表示匹配所有的字符
h> ^.* 表示以任意字符开头;.*$ 表示以任意字符结尾
i> [abc] 表示匹配字符集合内任意一个字符
[a-z]表示匹配所有小写字符
[0-9]表示匹配所有数字
j> [^abc] 表示不匹配字符集合内任意一个字符
k> {n,m} 表示前面一个字符重复n到m次
{n,} 表示至少重复n次
{n} 表示只重复n次
{,n} 表示最多重复n次
转载于:https://blog.51cto.com/begoodluck/1876853