- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
AWK:三位創造者Aho、Weinberger和Kernighan統稱 |
官方定義:一個優秀的樣式掃描與處理工具 定位:AWK是一種用于處理文本的編程語言工具,主要用于格式化報文或從一個大的文本文件中抽取數據。提取原來文本中行的某些域進行計算組合顯示出結果
【掃描文件中的每一行,查找與命令行中所給定內容相匹配的模式。如果發現匹配內容,則進行下一個編程步驟。如果找不到匹配內容,則繼續處理下一行,直到文件末尾】
[Shell過濾工具中最難掌握的,語法復雜,錯誤提示不明確]
優點: 1.處理文件中的?錄 2.簡單,解釋執行,不必編譯(與C相比) 3.容易獲得,unix自帶(whereis awk) |
模式和動作 模式部分決定了動作語句何時觸發及觸發的事件【處理語句】 模式部分可省略,則動作對每一行執行;模式部分可以是任何條件語句、復合語句、正則表達式 |
命令格式及說明
格式: |
語法組成:【查找 -à 執行處理】 awk ‘pattern{action}’ filename 【注意,pattern在非括號中,用于查詢篩選匹配行,action在括號中,action是在找到匹配內容時所執行的一系列命令,用于對篩選后的內容進行處理】
其中action內容可擴充,也可以有多個action。 格式: awk [ -F re] [parameter...] ['prog'] [-f progfile] |
參數說明: | |
-F re | 允許awk更改其字段分隔符,默認空格 A.-F參數后緊跟單個分隔符,則用雙引號“”,例如 –F”+” |
parameter | 該參數幫助為不同的變量賦值 |
'prog' | awk的程序語句段。這個語句段必須用單拓號:'和'括起,以防被shell解釋 |
-f progfile | 允許awk調用并執行progfile指定有程序文件 progfile是一個文本文件,他必須符合awk的語法 |
in_file | awk的輸入文件,awk允許對多個輸入文件進行處理。 值得注意的是awk不修改輸入文件。 如果未指定輸入文件,awk將接受標準輸入,并將結果顯示在標準輸出上。 awk支持輸入輸出重定向。 |
BEGIN{….} {…..} END{……} | 1 位置:’{}’ 2 作用:BEGIN和END的作用是給程序賦予初始狀態和在程序結束之后執行一些掃尾的工作 BEGIN{}:awk開始掃描輸入之前執行 (顯示變量和預置(初始化)變量) END{}:在掃描完全部的輸入之后執行 (最終結果 ) {}:操作
BEGIN部分:設置計數和?印頭 END部分:打印輸出文本總數及結尾狀態標識 |
調用方法
調用方式: | |
1 | 命令行;普通UNIX命令 ,用于解決簡單的問題 |
2 | 利用命令解釋器調用awk程序; 寫入腳本文件,并在首行加入#!/bin/awk –f ,執行之 |
3 | 使用-f選項調用awk程序 所有awk插入一個單獨文件然后調用 awk –f awk-script-file input-files |
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP