d/D g/G h/H n/N p/P 你真的了解它们的区别吗?

d/D g/G h/H n/N p/P你真的了解它们的区别吗?

在使用sed命令进行文本编辑时,我们难免会遇到上面的这些指令,
对它们之间的关系及意义的理解就尤为重要了,下面是我对这些指令的理解,
编辑出来供初学者参考一下吧,如有不对的地方还望大家指正!

作为sed的编辑指令会逐一对pattern space中的文本进行编辑之后再将结果送到标准输出stdout。

d:将pattern space中符合匹配的行删除,然后将下一行读入pattern space后执行sed命令
D:将只删除pattern space中第一行,不会自动读入下一行文本到pattern space,而是直接执行sed命令
n:将文件中的下一行读入pattern space,并覆盖pattern space原来的内容(注:sed需要加入-n选项将输出控制权交给指令)
N:将文件中的下一行追加入pattern space中,不会覆盖patternspace原来的内容,这样可以实现一次读取多行到pattern space,这点非常有用.
p:将pattern space的内容copy一份到标准输出stdout(注:是拷贝不是搬移,说明patternspace中还存有原始的数据,注:sed 需要加入-n选项将输出控制权交给指令)
P:将pattern space的第一行内容copy一份到标准输出stdout(注:sed需要加入-n选项将输出控制权交给指令)
h:将pattern space的所有内容拷贝到hold space中,并覆盖hold space原来的内容
H:将pattern space的所有内容追加到hold space中,不会覆盖hold space原来的内容
g:将hold space的所有内容拷贝到pattern space中,并覆盖pattern space原来的内容
G:将hold space的所有内容追加到pattern space中,不会覆盖pattern space原来的内容
x:交换hold space与pattern space的内容
个中关系参考下面的草图:

d/D <wbr>g/G <wbr>h/H <wbr>n/N <wbr>p/P <wbr>你真的了解它们的区别吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值