sed命令的pattern space与hold space

一、sed的Pattern Space与Hold Space

Pattern Space相当于车间,sed把流内容在这里进行处理,Hold Space相当于仓库,加工的半成品在这里进行临时存储。
g: 将hold space中的内容拷贝到pattern space中,原来pattern space里的内容被覆盖
G:将hold space中的内容append到pattern space\n后
h: 将pattern space中的内容拷贝到hold space中,原来hold space里的内容被覆盖
H: 将pattern space中的内容append到hold space\n后
d: 删除pattern中的所有行,并读入下一新行到pattern中
D: 删除multiline pattern中的第一行,不读入下一行

二、示例
1、倒序
sed '1!G;h;$!d' filename

2、奇数行
sed -n '1~2p' filename

3、每三行例序,最后
sed -n '1~3!G;h;3~3p;$p' 1.txt

posted @ 2020-04-07 09:44  gelare  阅读(408)  评论(0)    收藏  举报