awk初級使用 shell學習(6)

2021-05-23 08:15:35 字數 1144 閱讀 8099

awk三種使用方式:

1.    awk [-f field-separator] 『command』 file1 file2 …。field-separator必須用引號或雙引號擴上。

2.    將awk指令寫入指令碼中,並且指定執行該指令碼的解析器為「#!/usr/bin/awk -f」,awk路徑不同系統可能不一樣。執行該指令碼:test.awk file1 file2 …。

3.    將awk指令寫入指令碼中,執行awk –f scripfile file1 file2 …。

awk每次在檔案中讀一行,找到域分隔符(若未制定-f,則預設為空格),設定其為域n(從1開始,$1,$2…$n,$0代表原檔案中的行),直至一新行,然後,劃分這一行作為一條記錄,接著 awk再次啟動下一行讀程序。

awk語句語法規則和其它指令碼(如js,但是沒有其類的功能,而且陣列下標從1開始)語言非常類似。另外,可以給命令新增資訊頭或資訊尾,或兩者都加,兩者中不一定就只是為了輸出,可以設定一些值等,它們就是普通語句,只不過執行的位置特殊點。在資訊頭中可以宣告一些變數,從而可以在接下來的執行語句中使用。

注意:

command用單引號括起來。

命令內所有引號成對出現。

確保用花括號括起全部動作,用圓括號括起全部條件語句。

條件語句如果要使用正則,用/regex/形式,「~」表示匹配正規表示式,「!~」表示不匹配正規表示式(如$1 !~ /john/),其它變數比較操作使用》,>=,

awk內建變數

內建字串函式

字串都用」」括起來,正則用//括起來。

printf用法和c類似,但是不需要加()。如printf 「%d/n」 a。

可以向awk命令傳遞值:awk 『end 』 age=10 file。

awk,sed,tr支援在匹配特殊字元時可直接使用ctrl+v, ctrl+?來匹配。

awk,tr還支援/x形式來匹配特殊字元。

grep不支援特殊字元查詢。

awk -f '/t' 'begin end ' 進行累加

awk ''可用來輸入單引號

awk ''可用來輸入雙引號

awk使用詳解(shell)

一 基本介紹 1.awk awk是乙個強大的文字分析工具,在對文字檔案的處理以及生成報表,awk是無可替代的。awk認為文字檔案都是結構化的,它將每乙個輸入行定義為乙個記錄,行中的每個字串定義為乙個域 段 域和域之間使用分割符分割。2.功能 流控制 數 算 程序控制 內建的變數和函式 迴圈和判斷 3...

awk使用shell變數,shell獲取awk中

這裡提到awk,相信寫shell的朋友都會接觸到。awk 是一種用於處理文字的程式語言工具。awk 提供了極其強大的功能 可以進行正規表示式的匹配 樣式裝入 流控制數 算符 程序控制語句 內建的變數和函式 可以把awk看作一門完全的程式語言,它處理文字的速度是快得驚人的。現在很多基於shell 日誌...

awk中使用shell變數

其實在awk裡,是不能直接使用shell變數的 方法是 awk v 選項讓awk 裡使用shell變數 time 60 awk v time time begin 這樣要注意 在awk裡,time不能加 符號。網上說如下方法都可行 一 var 這種寫法大家無需改變用 括起awk程式的習慣,是老外常用...