awk命令

一. 語法

awk '條件1 {動作1} 條件2 {動作2} ...' 文件名

如果條件1符合,執行動作1,如果條件2符合,執行動作2

條件:

  一般使用關係表達式作爲條件

  x > 10    判斷變量x是否大於10

  x >= 10     大於等於

  x <= 10     小於等於

動作:

  格式化輸出

  流程控制語句

注意:之所以使用awk截取命令,主要是cut不能截取以" "或者tab作爲分隔符的字符串,而awk默認的分隔符就是這兩個

二. 實例

1. 輸出第2列和第4列

2. 截取sda5的第五列的磁盤佔用百分數

其中cut是以"%"分割"12%",然後取第一個字段

3. BEGIN,在所有的數據讀取之前執行BEGIN後的動作,然後再處理後面的數據

4. FS內置變量:指定分割符":"

由於awk先讀取第一行,再從第二行開始處理,因此第一行沒有分割

解決辦法,在FS前加入BEGIN,在讀取第一條數據之前,先把分隔符指定,再進行處理

5. END,在所有的數據執行完之後,再執行一個動作

6. 關係運算符

選取成績大於87的學生的名字,不包含Name所在的行,用grep -v反選Name所在的行,否則awk先會讀取第一行的內容,再處理後面的數據

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