关于sed工作原理的一个问题

hi_LeTian 2013-12-26 05:41:46
如:
cat test 输出如下:
1
2
3
4
5
6
7
为什么sed 'H;x' test 会得到如下这样的结果:

1
1
2
2
3
3
4
4
5
5
6
6
7

H在追加数据时是如何操作的?在追加数据到hold spance时,之前的hold spance是空的吗?
...全文
149 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hi_LeTian 2013-12-28
  • 打赏
  • 举报
回复
i understand,ths..
bblxl2008 2013-12-27
  • 打赏
  • 举报
回复
默认的hold space 为 $ 第一次执行H之后,$变成\n1$ # \n为自动添加 x交换hold space和pattern space的内容,打印出 \n 1 第二次执行H之后,\n1$变成1\n2$ ,执行x之后,打印出 1\n 2 . . . 依次类推
ljc007 2013-12-27
  • 打赏
  • 举报
回复
引用
在追加数据到hold spance时,之前的hold spance是空的吗?
只有第一次H之前是空的 你可以用sedsed看看执行过程
./sedsed -d 'H;x' urfile
http://sedsed.sourceforge.net/

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧