正则表达式的定义:是使用单个字符串来描述,匹配一系列符合某个句法规则的字符串
正则表达式的组成
1普通字符
大小写字母,数字,标点符号及一些其他符号
2元字符
正则表达式中具有特殊意义的专用字符
正则表达式分类
基础正则:一般使用grep命令和sed工具
扩展正则:一般使用egrep命令和awk工具
基础正则的元字符
^:表示以……开头
$:表示以……结尾
.:表示任意一个字符
\:转义字符
*:重复任意长度的字符
[]:表示在括号内任意一个字符
[^]:表示除括号内任意一个字符
{n}:表示重复字符的次数n表示数字
扩展字符表达式常见元字符
+:重复一个或一个以上的前一个字符
?:零个或一个的前一个字符
|:使用或者的方式找出多个字符
():查找组字符串
()+:辨别多个重复组
sed命令:对文本内容进行编辑(删除,替换,添加,移动等)替代vi命令
格式:sed 选项 ‘操作’ 文件
选项说明:
-e:表示用指定命令或脚本处理输入的文本文件
-n:表示仅显示处理后的结果
-i:直接编辑文本文件
操作说明:
a:增加,在当前行下面增加一行指定内容
c:替换,将选定行替换成指定内容
d:删除,删除所选行
i:插入,在选定行上面插入一行指定内容
p:打印,显示
s:替换,替换指定字符
awk选项 ‘模式或条件 {编辑指令},文件1,文件2……
//过滤并输出文件符合条件的内容
awk -f 脚本文件 文件1,文件2……
// 从脚本中调用编辑指定,过滤并输出内容
awk包含几个特殊的内建变量(可直接用)如下
FS:指定每行文本的字段分隔符,默认为空格或制表位
NF:当前处理行的字段个数
NR:当前处理行的行号(序号)
$0:当前处理的整行内容
$n:当前处理行的第几个字段(第n列)
FILENAME:被处理的文件名
RS:数据记录分隔,默认为\n,即每行为一条数据记录