1.測試的文字內容awk1.t
[root@demo ~]# cat awk1.treed 100 90 100
reed 98 92 100
huih 100 90 100
deer 99 91 99
hjl 92 100 80
gsl 80 80 80
zww 85 85 85
swe 85 85 85
2.測試的指令碼t.sh
[root@demo ~]# cat t.sh#!/bin/awk -f
# just for testing the awk
# 15/11/2012
# reed
begin
end
3.測試結果
[root@demo ~]# ./t.sh awk1.tname chinese english math total
-------------------------------------
reed 100 90 100 290
reed 98 92 100 290
huih 100 90 100 290
deer 99 91 99 289
hjl 92 100 80 272
gsl 80 80 80 240
zww 85 85 85 255
swe 85 85 85 255
-------------------------------------
count 739 713 729 2181
4.測試結論
從這次實驗當中自己學到了1)begin/end的用法2)如何進行行的求和以及列求和3)列印格式控制
5.測試過程中遇到的一些問題和疑問
#!/bin/awk -f# just for testing the awk
# 15/11/2012
# reed
begin
# 注意看這裡,沒有大括號total=(($2+$3+$4))
end
再看列印的結果
[root@demo ~]# ./t.sh awk1.tname chinese english math total
-------------------------------------
reed 100 90 100
reed 100 90 100 290
reed 98 92 100
reed 98 92 100 290
huih 100 90 100
huih 100 90 100 290
deer 99 91 99
deer 99 91 99 289
hjl 92 100 80
hjl 92 100 80 272
gsl 80 80 80
gsl 80 80 80 240
zww 85 85 85
zww 85 85 85 255
swe 85 85 85
swe 85 85 85 255
-------------------------------------
count 739 713 729 2181
疑問就存在這裡了,為什麼定義變數的時候不加大括號就會再一次列印文字內容的呢,加了之後就不會的呢?在awk中{}表示什麼意義呢?
操作由一人或多個命令、函式、表示式組成,之間由換行符或分號隔開,並位於大括號內。主要有四部份:變數或陣列賦值
輸出命令
內建函式
控制流命令
學習筆記 hive 之行拆列explode
1 explode explode array 列表中的每個元素生成一行 explode map map中每個key value對,生成一行,key為一列,value為一列 限制 1 no other expressions are allowed in select select pageid,e...
CUDA學習筆記(2)對任意向量長度求和
使用128個執行緒塊和128個執行緒來完成此項操作。值得注意的是,在編譯過程中,發現這個庫一出現就會導致error msb3721出現。雖然之前了解到msb3721往往是由於有些引用到的庫出問題,但是這個基本的庫難道都沒法用嗎?但是也只能放棄用cout輸出,而改用printf,結果成功。includ...
演算法學習筆記 4 二進位制求和
給定兩個二進位制數,求他們的和 結果還是二進位制 python中有相應的處理二進位制數,十進位制數的函式。首先使用int 方法將二進位制數轉化成十進位制數。在bin 方法將十進位制數轉化成二進位制數。bin 方法返回的二進位制數前面有0b標記,使用replace 方法將0b替換成none。最後將結果...