脚本编程大全:第二十章初识sed和gawk

sed

sed options script file

sed选项:
1. -e script 将script中的命令添加到已有的命令中
2. -f file 将file中的命令添加到已有的命令中
3. -n 不产生命令输出 使用print命令完成输出

sed替换命令两种形式
在这里插入图片描述

采用文件执行命令
在这里插入图片描述

gawk

gawk options program file

gawk选项:
-F fs 指定行中划分字段分割符
-f file 从制定文件中读取程序
-v var=value 定义变量并赋值
-mf N 处理数据文件中的最大字段数
-mr N 处理的最大行数
-w keyword 指定兼容模式或警告等级

使用行地址

默认情况下,sed命令会作用于文本数据的所有所在行,若想使其作用于特定行,则使用行寻址。 注意写入文件的数据只有寻址或匹配到的行数据。
处理2-5行的数据

#sed '2,5s/root/ame/gw dis1' lafile 

处理从第二行到末尾的数据

#sed '2,$s/root/new/gw dis2' lafile

处理匹配到的行

#sed '/mnt/s/root/mmnt/gw dis3' lafile 
组合命令
#sed '2,${
s/proc/amame/g
s/snap/changed/gw dis4
}' lafile
删除行

删除意味着不从源数据中取出相应数据,如下命令,不对源数据执行任何操作

#sed 'd' lafle
#sed '2,$d' lafile
#sed '/root /d' lafile
 删除root的匹配行 再从其中删除第一行
 #sed '{               
/root /d 
1d
}' lafile
插入和附加文本行

注意i后 / \ 和没有斜杠的区别 在这里插入图片描述
指定行插入

 	#sed '3a\This is the inserted line!!!!!!!!!!!! ' lafile 

多行插入

#sed '3a\This is the inserted line!!!!!!!!!!!!\
This is the sed Line2' lafile

每行后多行插入

#sed '3,$a\This is the first \
This is the sed! ' lafile 
修改行

将所有的 1 2 3 替换为 9 8 7

#sed 'y/123/987/' lafile 
打印
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值