首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

《Linux命令行与shell脚本编程大全》 其次十章 学习笔记

2013-11-08 
《Linux命令行与shell脚本编程大全》 第二十章 学习笔记label可以定义在b的前面现在这个例子就很容易理解了,

《Linux命令行与shell脚本编程大全》 第二十章 学习笔记

label可以定义在b的前面

现在这个例子就很容易理解了,找到逗号,然后删除,打印,然后跳转到脚本开头重复执行。

当所有逗号都删除了之后,循环依然没有停止,所以需要想办法让它在执行完任务就停止查找。

在重复之前,我们查找逗号,如果有,那么就重复执行。

现在就不会进入死循环了。

但是现在还有一个问题,就是我们只想要最终的结果怎么办?

也就是说,我们不能每次循环的时候都打印,只有在执行完任务的时候才需要打印。

测试

类似跳转命令,测试命令(t)会基于替换命令的输出跳转到一个标签,而不是基于地址跳转到一个标签。

在没有指定标签的情况下,如果测试成功,sed会跳转到脚本的结尾。

模式替代

and符号

and符号(&)和正则里面的反向引用很相似。&用来代表替换命令中的匹配模式中匹配到的文本。

代码看上去挺吓人的,这里圆括号和花括号都需要转义,转义之后的圆括号相当于分组,但是用反斜线+数字来引用,花括号转义之后相当于量词

这段代码的意思是:从开头查找连续的数字,前面的一组,后三个一组,然后在两组之间添加逗号

然后再次循环这段逻辑,由于之前在最后三个数字前面添加了括号,所以这次查找不会找到最后三个数字,这次的两组中的第二组是倒数第4、5、6个数字

我们来看一下java中如何实现这个功能:

$ sed 's/<[^>]*>//g;/^$/d' test.html

?

?

?

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

?

热点排行