awk 文件截取過濾參數


功能:

Awk是一種便於使用且表達能力強的程序設計語言,可應用於各種計算和數據處理任務。AWK是一種處理文本文件的語言,是一個強大的文本分析工具。

格式:

awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...

$1 代表第幾列

'....{print }' ...的位置可以進行匹配 print 輸出

選項:

POSIX options: GNU long options: (standard)
-f progfile --file=progfile
-F fs --field-separator=fs //分隔符 
-v var=val --assign=var=val //變量賦值
Short options: GNU long options: (extensions)
-b --characters-as-bytes
-c --traditional
-C --copyright
-d[file] --dump-variables[=file]
-e 'program-text' --source='program-text'
-E file --exec=file
-g --gen-pot
-h --help
-L [fatal] --lint[=fatal]
-n --non-decimal-data
-N --use-lc-numeric
-O --optimize
-p[file] --profile[=file]
-P --posix
-r --re-interval
-S --sandbox
-t --lint-old
-V --version

內置參數 

FS 輸入字段分隔符,默認是空格或制表符 // 和-F差不多
OFS 輸出字段分隔符,默認是空格
RS 輸入記錄分隔符,默認是換行符\n
ORS 輸出記錄分隔符,默認是換行符\n
NF 表示的是瀏覽記錄的域的個數 
$NF 表示的最后一個Field(列),即輸出最后一個字段的內容
NR 統計記錄編號,每處理一行記錄,編號就會+1
FNR 統計記錄編號,每處理一行記錄,編號也會+1,與NR不同的是,處理第二個文件時,編號會重新計數。
ARGC 命令行參數數量
ARGV 命令行參數數組序列數組,下標從0開始,ARGV[0]是awk
ARGIND 當前正在處理的文件索引值。第一個文件是1,第二個文件是2,以此類推
ENVIRON 當前系統的環境變量
FILENAME 輸出當前處理的文件名
IGNORECASE 忽略大小寫
SUBSEP 數組中下標的分隔符,默認為"\034"

實例:

1.1   awk '{print $}' 輸出第幾列

 

 1.2 輸出多列用 , 隔開

 

 1.3 '....{print }' ....位置判斷案例

 

 1.4 -F 分隔符 

ip a show ens33|awk -F'[ |/]+' 'NR==3{print $3}'  同時定義兩個分隔符

 

 分開寫

 

 

1.5 FS 內置參數設置分隔符

 

 1.6 -v 重新給變量賦值

1.7 $NF 表示的最后一個Field(列)

 1.8  Sum求和 +=

 

 

1.9  求平均 /

 

 1.10 SEBIN +if判斷 找出最大值

 

 1.11  for循環 http的並發請求數與其TCP連接狀態

 1.12 awk 定義數組

a[i]=value
  • a:數組的名稱
  • i:數組索引
  • value:數組中元素所賦予的

創建數組 要注意點小紅點的地方,

1.需要加雙引號 不然會有語法錯誤

2. 輸出 用\n 隔開 也要加 " "

3.print 打一個就夠了 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM