begin
else if ($2 == 2)
}end
說明:按照某列的值進行分組求和。
注意:awk指令碼中中間**塊本身就是是對檔案中每行都進行處理,需要使用while(i此檔案命名為abc.awk 則執行方式是awk -f abc.awk data
如果awk檔案不複雜,建議直接用awk命令列執行,如
awk -f ' ' 'begin else if ($2==2) } end' data
awk指令碼中常量
nf 當前記錄的字段數
nrawk流程控制語句,從語法上可以看到,與c語言是一樣的。有了這些語句,其實很多shell程式都可以交給awk,而且效能是非常快。
比較 time (awk 'beginprint total;}') 和 time(total=0;for i in $(seq 10000);do total=$(($total+i));done;echo $total;)
參考
awk指令碼作業
1.只處理使用者id為奇數的行,並列印使用者名稱和uid號 awk f etc passwd 2.顯示系統的普通使用者,並列印使用者名稱和id awk f 1 root etc passwd 3.顯示使用者shell是 bin bash 的使用者,並列印使用者名稱 awk f 7 bin bash ...
AWK 指令碼例子
能夠到乙個類似與 data sandbox scanresult 0 1 41435 42458 2 result.xml 的路徑,在該檔案目錄下還有乙個以md5命名的檔案。需求是 根據xml 路徑得到md5 全部xml 檔案路徑儲存在 randomsample55000 20150105 vre....
shell指令碼之awk
一 什麼是awk awk其實相當於一門可以處理資料文字的語言,這麼說的原因是其具有很多類c語言的語法,如 變數,陣列,函式,流程控制等,其由aho,weinberger,kernighan大約在1977年開發完成,隨後被引入unix linux中。二 awk可以幹什麼 awk是乙個非常強大的資料處理...