awk命令基本結構:
awk
'begin pattern end'
file
【選項】
-f
:輸入域分隔符
-v
:自定義變數
-f
:呼叫awk指令碼
【執行流程】
(1) 執行begin;
(2) 從檔案或stdin中讀取一行,執行pattern 。重複這個過程直至讀取完畢;
(3) 執行end
nr
:記錄數量,也就是已讀的行號
nf
:字段數量
$0
:當前行文字
$1
:第乙個欄位的文字
fs
:輸入域分隔符
ofs
:輸出域分隔符
/pattern/
:僅處理匹配的行;!/pattern/
:僅處理不匹配的行
pattern部分也可以是條件。例如:
$ awk -f :
'nr<3' /etc/passwd
root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
awk的陣列使用方式有點特別。awk陣列是關聯陣列,引用不存在的索引時會自動使用預設值。
$ echo
|awk
''1 1
printf(...)
:格式化輸出;
length(s)
:字串長度;
gsub(r, s, [t])
:在t字串搜尋r匹配的內容並全部替換為s
getline
:讀取一行(檔案游標也會移動一行)
awk支援if語句、switch語句、while迴圈、for迴圈、for in 迴圈。
awk支援算數、賦值、比較、邏輯和模式匹配運算子。
~
:匹配;!~
:不匹配
Linux命令之awk學習筆記
一 awk命令 root www awk 條件型別 1 條件型別 2 filename二 awk 後面接兩個單引號並加上大括號 來設定想要對資料進行的處理動作。在每一行的每個欄位都是有變數名稱的,那就是 1,2.等變數名稱。0代表 一整列資料 的意思 如圖 以上面的例子來說,第一行的 0 代表的就是...
學習Linux 關於AWK 命令筆記
一.awk簡介 awk是一種處理文字檔案的語言,是乙個強大的文字分析工具。它可以依次處理檔案的每一行,並讀取裡面的每乙個字段。對於日誌這樣的每行格式相同的文字檔案,awk可能是最方便的工具。1.awk語法 基於模式匹配檢查輸入文字,逐行處理並輸出 格式1 前置命令 awk 選項 條件 格式2 awk...
awk命令學習
題目 檔案a,每行兩列,格式為url ip,檔案b每行一列,格式為url,通過awk實現找出b檔案中的url是否在a檔案中,如存在,將此url和對應的ip輸出 檔案大小不考慮 編寫檔案a如下 編寫檔案b如下 預期輸出結果為 設計awk命令如下 c sharp view plain copy prin...