运维界的卡乐咪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Sed软件有两个内置的存储空间

 

模式空间(pattern space):是sed软件从文件读取一行文本然后存入的缓冲区,然后命令操作模式空间的内容。

保持空间(hold space):是sed软件另外一个缓冲区,用来存放临时数据。Sed可以交换保持空间和模式空间的数据,但是不能在保持空间上执行普通的sed命令。

初始情况,模式空间和保持空间都是没有内容的。每次循环读取数据的过程中,模式空间的原内容都会被清空写入新的内容,但保持空间的内容保持不变,不会在循环中被删除,除非使用sed命令操作保持空间。

 

模式空间

n清空当前模式空间,然后读入下一行

[root@localhost ~]# cat person.txt
101 aaaaaa
102 BBBBB
103 ccDD
104 dddds
105 wetsdg
[root@localhost ~]# sed -n 'n;p' person.txt
102 BBBBB
104 dddds
读入101遇到n被清空然后读入102 一次循环完成,然后读入103遇到n被清空然后读入104...

N不清空当前模式空间,然后读入下一行 以\n分隔两行

 

posted on 2020-02-20 23:44  卡乐咪运维  阅读(461)  评论(0)    收藏  举报