Sed 常用命令

#1 sed 变量替换
ipp=1.1.1.1
#将synrecvd文本中的1.1.1.1都清除 并且删除空行
echo $ipp | sed -i "s/$ipp//g;/^$/d" synrecvd

#2 sed 使用条件语句 修改文本,但不能插入一行数据
[root@A ~]# cat c
aaa
bbb
ccc
ddd
eee
fff
[root@A ~]# sed '/ccc/s/$/\tYES/;ta;s/$/\tNO/;:a' c
aaa     NO
bbb     NO
ccc     YES
ddd     NO
eee     NO
fff     NO
#遇到ccc加yes后,成功了,遇到ta,跑到:a这个地方,然后继续下一行,下一行若是没ccc,不成功,后面直接加No,这个ta类似是在符合条件的时候跳过某些命令,刚好符合If/else.
#;ta;中的t是跳转到a的意思,可以使用..tb...;:b

#3 sed 其他
sed '1,3d' file //删除1-3行 
sed '/[Aa]bc/p' file //打印包含Abc或者abc的行 
sed '/ABC/d' //删除包含ABC的行 
sed '/ABC/!d' //不删除包含ABC的行 
sed '5,$d' //从第五行到最后一行全部删除 
sed 1q  //显示第一行 
sed 's/$/.../g' //每行的最后面添加 ... 
sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk 
sed 's/<[^>]*>//g' //去除html标签 
sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行 
sed '/ABC/i123' //跟a不同的是i是插入当前行的前面 
sed '/ABC/c123' //包含ABC的行将更改为123 
sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC 
sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a 
sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加. 
sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加. 
g等于在当前行覆盖,G是在符合条件的行后新增加一行. 
sed 's/^/ /g' //每行前面增加一个空格 
sed 's/.(.)$/*1/' //将倒数第二位换成* 
sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成* 
sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值