try vuuv.github.io or somewhere else.
分类:
2011-10-07 14:55:06
原文地址:sed之利用lable跳转实现条件判断 作者:zooyo
[解析]
这是一个教科书般的案例,通过首先通过扩展正则标记出需要提取的2样数据然后打印,这个tx是关键,t是代表前面语句执行成功就跳转,如果没有执行成功是不跳转的,b则是无论如何都会跳转,这点就充分的显示了b和t的差别,如果成功就跳转去标记x处,也就是行尾,就跳过了后面的替换语句。如果前面的匹配替换不成功,则执行后面替换成 none 的动作。这样就完成了一个简单的条件判断。注:在本案中最后的":x"是可以省略的,前面的tx跳转直接写成t,不申明label的话就是跳转到行尾。
[解析]
这是awk的写法,匹配到边界K开头的用gensub()函数筛选出K开头的单词,然后打印,next不执行后面,如果不匹配到K开头的单词,就打印第一字段和 none。结果和sed没有任何差别。