awk的部分使用說明

awk的使用說明

閱讀相關資料整理一下理解中的awk的使用說明

命令行的方式調用awk

awk [-F  field-separator]  'commands'  filename
其中 [-F  field-separator] :分隔符可選
     'commands':要執行的命令
      filename:待處理的文件名

入門實例

先創建一個test文件,文件內容爲:
在這裏插入圖片描述

awk '{print $1,$2}' test

輸出爲

1 hello
2 hi
3 yes
4 good
5 no
6 lucky

awk工作流程:讀入有’\n’換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$ 0則表示所有域, $ 1表示第一個域,$n表示第n個域。

if語句的使用

必須用在{}中,且比較內容用()擴起來

awk '{if($4>0)print$3}' test

輸出爲:(表示輸出第四列大於0的行的第三列的名稱)

小明
小李
小明
小小

AWK 包含兩種特殊的模式:BEGIN 和 END
BEGIN模式指定了處理文本之前需要執行的操作;
END模式指定了處理完所有行之後所需要執行的操作。

awk 'BEGIN{sum=0}{if($4>0){sum+=$1;print sum}}' test 

輸出爲:(這個是每碰到一個第四列大於0的行,sum就會加上該行的第一列的值並輸出)

1
3
7
13

awk 'BEGIN{sum=0}{if($4>0){sum+=$1}}END{print sum}' test  

輸出爲:(這個是每碰到一個第四列大於0的行,sum就會加上該行的第一列的值,最後會輸出最後的sum值)

13

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章