awk命令使用

2021-09-22 18:03:37 字數 958 閱讀 8062

#linux awk command info

awk是乙個行編輯器  和sed是互補關係  主要功能是擷取,它類似於cut的功能,但是功能更強大

不單可以擷取還可以運算 排序 還支援shell語句等一些功能

awk語法

awk [option]''[filename]

awk 認為每一行都是一條記錄,記錄與記錄的預設分割符是回車

每一列是乙個字段,欄位與字段的預設分割符是空

awk 認為 每一條awk語句就是乙個指令碼 所以程式指令碼要用{}定義,由於awk命令列假定指令碼是單文字字串,所以必須將程式指令碼包括在單引號內。

#awk擷取

#nf  number field  列擷取

print 輸出

$0  文字全部

$1-$n 輸出第幾個字段

$nf  輸出最後乙個字段

#行擷取  nr number row

如:awk 'nr==2' file

更改程式處理的優先順序  begin   end  假如有多個程式

awk 資料字段和記錄變數

fs  指定輸入欄位的分割符    類似於命令選項   -f

ofs 指定輸出字段分割符   

rs  指定輸入記錄分割符   

ors 指定輸出記錄的分割符

fieldwidths 按寬度分割字段

如:awk 'begin'

awk 運算

+ - * / ^ %  賦值

如:awk 'begin'

如:計算記憶體使用率: 

awk 'nr==1nr==2' /proc/meminfo

比較運算

> < >= <= == !=  數字 

對於字串 

==精確匹配

~ 模糊匹配 

!~   

#awk 函式  if for while    do-while

awk命令使用

awk是linux下很有用的列編輯工具。示例如下 檔案tran map.txt內容如下 tr zhuanzhang sa unknown 1.組織字串。將第一列以字串形式列印出來 awk tran map.txt tr sa 2.形成格式化 將第一列值轉換為第二列值 採用檔案指令碼方式。指令碼檔案為...

awk命令使用

awk 格式化輸出,報告生成器 格式 awk 選項 程式 檔案 選項 f 指定分隔符 space 多個分隔符 v 變數賦值內建變數 ofs 輸出字段分隔符 列 ofs rs 輸入行分隔符 ors 輸出行分隔符 nf 字段數量 列 nf 1 即倒數第二字段 nr 記錄數量 行 nr 4 即第四行 自定...

awk命令使用

awk 報告生成工具 把檔案中讀取到的每一行的每個字段分別進行格式化,而後進行顯示 awk new awk nawk gnu awk,gawk 用法格式 awk option script file awk option pattern file action print 1 模式 pattern ...