sed命令简单使用-D命令-结束本轮循环
2012-02-06 11:58
225 查看
为了验证D命令后的语句是否会执行,写了如下实例,(其中=表示输出当前行号,=;=表示输出当前行号两次):
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;D;N;p;=;=;ba'
00001
00002
2
00002
00003
3
00003
00004
4
00004
00005
5
00005
00006
6
可以发现行号并没有连续输出两次,所以语句执行到D后,后面的“N;p;=;=;ba”并没有执行,去掉上面命令中第一个N,执行如下:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;p;=;D;N;p;=;=;ba'
00001
1
00002
2
00003
3
00004
4
00005
5
00006
6
可以发现,语句执行到D后,后面的“N;p;=;=;ba”并没有执行,去掉前面命令中的D,执行如下:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;N;p;=;=;ba'
00001
00002
2
00001
00002
00003
3
3
00001
00002
00003
00004
4
00001
00002
00003
00004
00005
5
5
00001
00002
00003
00004
00005
00006
6
去掉D命令后,可以发现后面的“N;p;=;=;ba”执行了。所以,D命令将结束本轮sed语句,开始下一个循环。D命令后的语句将不再执行。另,d(Delete pattern space. Start next cycle.)命令也是一样:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;d;N;p;=;=;ba'
00001
00002
2
00003
00004
4
00005
00006
6
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;D;N;p;=;=;ba'
00001
00002
2
00002
00003
3
00003
00004
4
00004
00005
5
00005
00006
6
可以发现行号并没有连续输出两次,所以语句执行到D后,后面的“N;p;=;=;ba”并没有执行,去掉上面命令中第一个N,执行如下:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;p;=;D;N;p;=;=;ba'
00001
1
00002
2
00003
3
00004
4
00005
5
00006
6
可以发现,语句执行到D后,后面的“N;p;=;=;ba”并没有执行,去掉前面命令中的D,执行如下:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;N;p;=;=;ba'
00001
00002
2
00001
00002
00003
3
3
00001
00002
00003
00004
4
00001
00002
00003
00004
00005
5
5
00001
00002
00003
00004
00005
00006
6
去掉D命令后,可以发现后面的“N;p;=;=;ba”执行了。所以,D命令将结束本轮sed语句,开始下一个循环。D命令后的语句将不再执行。另,d(Delete pattern space. Start next cycle.)命令也是一样:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;d;N;p;=;=;ba'
00001
00002
2
00003
00004
4
00005
00006
6
相关文章推荐
- sed命令简单使用-实现行的两两互换
- sed命令简单使用-显示
- sed 命令简单使用方法
- sed命令简单使用
- grep、sed和awk命令的简单使用
- sed命令简单使用-截取第n个关键字和倒数第m个关键字之前的内容
- sed命令简单使用-不写D,那么默认执行d
- sed命令简单使用-pattern space与hold space
- grep、sed和awk命令的简单使用
- javadoc 命令的简单使用方法
- 倒序打印的聪明递归方法~当然也可以使用堆栈法和最简单易懂的循环法
- 使用cocos 命令编译项目简单错误识记
- linux下简单vim命令的练习使用
- Shell脚本基础20-for循环执行命令-结束篇
- mysqlbinlog 命令简单使用
- 简单了解Linux系统中clock命令的使用方法
- 【JAVA 工具】jstack简单使用,定位死循环、线程阻塞、死锁等问题
- mac版svn客户端利用终端命令的简单使用
- 浅谈linux中sed命令和awk命令的使用
- 在linux应用程序使用system函数执行简单的shell交互命令的方法