常用awk指令碼

2021-06-26 06:23:37 字數 524 閱讀 5883

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是乙個非常強大的資料處理...