- 论坛徽章:
- 0
|
5可用积分
man awk next只能读懂字面上含义,
谁能给几个例子说明下具体含义和使用方法呢?自己写的几个例子都达不到预期效果,可能是理解的不对.
telfort1:/kfbuild/x144378>cat file
a
a
b
c
d
e
f
telfort1:/kfbuild/x144378>awk '/^a/{print $0} /^a/{print $0}' file
a
a
a
a
telfort1:/kfbuild/x144378>awk '/^a/{print $0;next} /^a/{print $0}' file
a
a
#1.按我的理解也应该输出4个a,谁能帮忙解释解释呢?我是理解成读入下一行匹配的模式
这2个输出结果一样啊
awk '/^a/{print $0;next}' file file
awk '/^a/{print $0}' file file
这2个输出结果也一样啊
awk '/^a/{print $0;next}' file
awk '/^a/{print $0}' file
#2.next有什么作用呢?
awk '/^a/{next;print $0}' file这个什么也输出不来
#3.awk的模式和动作具体怎么运行的呢?模式先匹配所有行,动作再一个个执行么?还是匹配一行,动作处理一行呢
问的应该比较白痴,大家给点拨下啊.
[ 本帖最后由 ghostgorst 于 2009-8-21 11:12 编辑 ] |
最佳答案
查看完整内容
这样理解awk的next:遇到next时,读入下一行,然后从头开始处理,即next起到了{getline; goto head}的作用。awk '/^a/{print $0;next} /^a/{print $0}' 用伪码可以这样来看:
|