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