awk命令學習筆記

2021-09-24 00:27:36 字數 1145 閱讀 7624

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...