shell脚本应用(四)

正则表达式的定义:是使用单个字符串来描述,匹配一系列符合某个句法规则的字符串
正则表达式的组成
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,即每行为一条数据记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值