sed 的暂存空间和模式空间
1. 首先需要明白, sed处理文件是逐行处理的, 即读取一行处理一行,输出一行;
2. sed把文件读出来存放的空间叫模式空间, 会在该空间中对读到的内容做相应处理;
3. 此外sed还有一个额外的空间即暂存空间, 暂存空间刚开始里边只有个空行, 记住这一点;
4. sed可使用相应的命令从模式空间往暂存空间放入内容或从暂存空间取内容放入模式空间;
5. 命令如下:
6. 示例如下:
7. 模式空间和暂存空间内容互换的使用:
sed -r '3h; 4x; 5G' /etc/hosts 解读: 第3行内容覆盖写到暂存, 第4行内容和暂存中的内容呼唤, 此时模式中是第3行的内容, 暂存中是第4行的内容, 然后把暂存中的内容取出准加到5行之后