高级Sed命令---N
2011-05-29 20:57
274 查看
N(Next) 追加下一行
通过读取新的输入行,并将它添加到模式空间的现有内容之后来创建多行模式空间
模式空间最初的内容和新的输入行用换行符(/n)分隔
在模式空间中,元字符“^”只匹配模式空间中的第一个元字符,而不匹配换行符后买呢的字符
同样“$”只匹配模式空间中最后的换行符
next 输出模式空间的内容,然后读取新的输入行,不会创建多行模式空间
举例:
[root@mby /home/sysadmin/zhaoyj]# cat test.txt
AAA Operator
Guide BBB
[root@mby /home/sysadmin/zhaoyj]# sed '/Operator$/{
N
s/AAA Operator/nGuide/Aniya/
}' test.txt
Aniya BBB
如果这么写的话,看看有何变化
[root@mby /home/sysadmin/zhaoyj]# sed '/Operator$/{
N
s/AAA Operator/nGuide/Aniya/
/
}' test.txt
Aniya
BBB
原因是我们不能使用/n在替换字符中插入换行符,必须使用反斜杠转义换行符
看看这个错误的换行方法:
[root@mby /home/sysadmin/zhaoyj]# sed '/Operator$/{
N
s/AAA Operator/nGuide/Aniya/n/
}' test.txt
AniyanBBB
[root@mby /home/sysadmin/zhaoyj]# cat test.txt
1111
2222
3333
4444
合并上下两行
[root@mby /home/sysadmin/zhaoyj]# sed '$!N;s//n/ /' test.txt
1111 2222
3333 4444
合并匹配模式与它的下一行
[root@mby /home/sysadmin/zhaoyj]# sed '/2/{
N
s//n/ /
}' test.txt
1111
2222 3333
4444
合并所有行
[root@mby /home/sysadmin/zhaoyj]# sed ':a;N;s//n//t/;ba;' test1
1 2 3 4
通过读取新的输入行,并将它添加到模式空间的现有内容之后来创建多行模式空间
模式空间最初的内容和新的输入行用换行符(/n)分隔
在模式空间中,元字符“^”只匹配模式空间中的第一个元字符,而不匹配换行符后买呢的字符
同样“$”只匹配模式空间中最后的换行符
next 输出模式空间的内容,然后读取新的输入行,不会创建多行模式空间
举例:
[root@mby /home/sysadmin/zhaoyj]# cat test.txt
AAA Operator
Guide BBB
[root@mby /home/sysadmin/zhaoyj]# sed '/Operator$/{
N
s/AAA Operator/nGuide/Aniya/
}' test.txt
Aniya BBB
如果这么写的话,看看有何变化
[root@mby /home/sysadmin/zhaoyj]# sed '/Operator$/{
N
s/AAA Operator/nGuide/Aniya/
/
}' test.txt
Aniya
BBB
原因是我们不能使用/n在替换字符中插入换行符,必须使用反斜杠转义换行符
看看这个错误的换行方法:
[root@mby /home/sysadmin/zhaoyj]# sed '/Operator$/{
N
s/AAA Operator/nGuide/Aniya/n/
}' test.txt
AniyanBBB
[root@mby /home/sysadmin/zhaoyj]# cat test.txt
1111
2222
3333
4444
合并上下两行
[root@mby /home/sysadmin/zhaoyj]# sed '$!N;s//n/ /' test.txt
1111 2222
3333 4444
合并匹配模式与它的下一行
[root@mby /home/sysadmin/zhaoyj]# sed '/2/{
N
s//n/ /
}' test.txt
1111
2222 3333
4444
合并所有行
[root@mby /home/sysadmin/zhaoyj]# sed ':a;N;s//n//t/;ba;' test1
1 2 3 4
相关文章推荐
- sed的高级命令和软件包管理器rpm
- Sed的高级命令
- sed学习笔记二--高级命令
- Linux-sed命令(基础和高级用法)
- sed高级命令之n、N
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- linux:sed高级命令之n、N
- sed高级命令
- 高级sed编程1--多行命令
- 文本编辑工具之sed用法简单命令和高级命令
- Unix整理笔记——高级命令sed和awk——里程碑M10
- 实例妙解Sed和Awk的秘密——Sed高级操作命令
- sed高级编程--保留空间和否定命令
- Unix整理笔记——高级命令sed和awk——里程碑M10
- sed 命令完全解析--之linux高级命令
- linux:sed高级命令之n、N(转)
- sed命令基础及高级用法
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- sed命令详解 vim高级技巧 shell编程上