awk(針對列)
1.語法格式:awk [選項] 『[條件]』 檔名
處理文字時,若未指定分隔符,則預設將空格、製表符等作為分隔符。
1)指定空格為分隔符
指令:print
# awk 『』 a.txt
2)指定冒號:為分隔符
選項:-f:指定分隔符
3)指定/為分隔符,將分為五部分,提取bin為第三列
/usr/bin/echo/bash
[root@zhang ~]# awk -f / 『』 a.txt
[root@zhang ~]# free | awk 『/mem/』//先定位到行,再提取要列印的列
2.awk常用內建變數:
$0:文字當前行的全部內容
$1:文字的第一列
$2:文字的第二列
$3:文字的第三列,以此類推
nr:檔案當前行的行號
nf: 檔案當前行的列數(有幾列)
注:awk的print指令不僅可以列印變數,也可以列印常量,如下:
提取根分割槽的剩餘容量
3.awk處理的時機
awk會逐行處理文字,支援在處理第一行之前做一些準備工作,以及在處理完最後一行之後做一些總結性質的工作。
語法格式:awk [選項] 『beginend』 檔名
先執行預處理begin再讀中間的指令最後執行end
[root@zhang ~]# awk 『begin/bash$/end』 /etc/passwd如果沒有end,則符合條件就輸出乙個值,直到結束
[root@zhang ~]# awk 『begin/bash$/』 /etc/passwd如果既沒有begin又沒有end則該命令只執行x++,滿足條件輸出6個1
[root@zhang ~]# awk 『/bash$/』 /etc/passwd
如下:
# awk -f : 『begin end』 /etc/passwd
注:用"\t"表示tab製表位
Linux awk命令詳解
3.awk的執行過程 1 awk script的組成 awk script可以由一條或多條awk cmd組成,兩條awk cmd之間一般以newline分隔 awk cmd由兩部分組成 awk pattern awk script可以被分成多行書寫,必須確保整個awk script被單引號括起來。2...
linux awk命令詳解
awk 儘管操作可能會很複雜,但語法總是這樣,其中 pattern 表示 awk 在資料中查詢的內容,而 action 是在找到匹配內容時所執行的一系列命令。花括號 不需要在程式中始終出現,但它們用於根據特定的模式對一系列指令進行分組。pattern就是要表示的正規表示式,用斜槓括起來。awk 語言...
linux awk命令詳解
awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。awk有3個不同版本 awk nawk和gawk,未作特別說明,一般指gawk,gawk...