sed pattern/hold space两个空间

1、sed参数说明
l list pattern space的东西是什么
h 把hold space里的东西清掉,把pattern space的东西copy给hold space
H 把pattern space的东西加在hold space东西后面
g 把pattern space里的东西清掉,把hold space东西拿回给pattern space
G 把hold space的东西加在pattern space东西后面
p 印出pattern space的东西
x 交换(exchange)pattern space与hold space

-n参数:不让每次sed处理一行,就默认输出pattern的内容,而是最后才输出。(注意:每次sed处理新行都会覆盖掉pattern的内容。)

2、举例说明
如下示例为将文本数据倒序输出。
[root@VM-0-36-centos ~]# cat file
1
2
3
[root@VM-0-36-centos ~]# sed -n ‘1!G;h;$p’ file
3
2
1
其中“1!”由于刚开始hold空间并没有数据要追加过来,所以跳过第一次“G”追加。
在这里插入图片描述3、总结
h H Copy/append pattern space to hold space.
g G Copy/append hold space to pattern space.

可以将pattern space理解为加工车间,hold space理解为仓库,多行数据要一次性处理的话,就要先一行一行的拆分进pattern space,再放入hold space中组合成原数据,再送入pattern space中处理。

所以这里涉及到的“h H”可以简单理解成hold,即将已加工好的数据存储起来,“g G”可以理解成get,将仓库的数据拿过来到pattern空间中继续加工。

第一步就是把仓库数据get到pattern空间处理,第二部就是把处理好的数据hold到hold空间存储。第三步则将pattrn空间的数据输出。
加上自定义的各种变化,即可完成各种类型的数据处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值