sed执行流程
简易流程
- 读取文件 (从文件或者管道)的第一行
- 读取到sed使用的内存区域中(模式空间)
- 进行判断这一行是否是我要的
4.1 如果是则执行对应的命令
4.2 如果不是则读取下一行(如果没有加上-n sed会默认显示这行内容[模式空间内容])
详细流程
参考此文章 链接
案例: 替换Enter为空格
[root@alice ~]# seq 10 |sed -n 'H;$x;s#\n# #gp'
1 2 3 4 5 6 7 8 9 10
[root@alice ~]# seq 10 |sed -n '1h;1!H;$x;s#\n# #gp'
1 2 3 4 5 6 7 8 9 10
[root@alice ~]# seq 10 |sed -n 'H;$x;s#\n# #gp'
1 2 3 4 5 6 7 8 9 10
[root@alice ~]# seq 10 |sed -n 'H;${x;s#\n# #gp}'
1 2 3 4 5 6 7 8 9 10