- 論壇徽章:
- 0
|
5可用積分
man awk next只能讀懂字面上含義,
誰能給幾個例子說明下具體含義和使用方法呢?自己寫的幾個例子都達(dá)不到預(yù)期效果,可能是理解的不對.
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.按我的理解也應(yīng)該輸出4個a,誰能幫忙解釋解釋呢?我是理解成讀入下一行匹配的模式
這2個輸出結(jié)果一樣啊
awk '/^a/{print $0;next}' file file
awk '/^a/{print $0}' file file
這2個輸出結(jié)果也一樣啊
awk '/^a/{print $0;next}' file
awk '/^a/{print $0}' file
#2.next有什么作用呢?
awk '/^a/{next;print $0}' file這個什么也輸出不來
#3.awk的模式和動作具體怎么運行的呢?模式先匹配所有行,動作再一個個執(zhí)行么?還是匹配一行,動作處理一行呢
問的應(yīng)該比較白癡,大家給點撥下啊.
[ 本帖最后由 ghostgorst 于 2009-8-21 11:12 編輯 ] |
最佳答案
查看完整內(nèi)容
這樣理解awk的next:遇到next時,讀入下一行,然后從頭開始處理,即next起到了{(lán)getline; goto head}的作用。awk '/^a/{print $0;next} /^a/{print $0}' 用偽碼可以這樣來看:
|