awk 一 文字處理工具

2022-09-05 22:12:32 字數 944 閱讀 3720

awk 是逐行掃瞄檔案(從第1行到最後一行),尋找含有目標文字的行:

如果匹配成功,則會在該行上執行使用者想要的操作。

反之,則不對行做任何處理。

awk 命令的基本格式為:

awk [選項] '指令碼命令' 檔名

-f';'

指定以 ; 作為輸入行的分隔符,awk 命令預設分隔符為空格或製表符。

-f file

從指令碼檔案中讀取 awk 指令碼指令,以取代直接在命令列中輸入指令。

-v var=val

在執行處理過程之前,設定乙個變數 var,並給其裝置初始值為 val。

awk 的強大之處在於指令碼命令,它由2部分組成,分別為匹配規則和執行命令,如下所示:

'匹配規則'

匹配規則,可以使用字串(比如 /demo/,表示檢視含有 demo 字串的行)或者正規表示式指定。

另外需要注意的是,整個指令碼命令是用單引號 '' 括起,而其中的執行命令部分需要用大括號 {} 括起來。

在 awk 程式執行時,如果沒有指定執行命令,則缺省會把匹配的行輸出;

如果不指定匹配規則,則預設匹配文字中所有的行。

awk -f',' '' ld

以,分割,匹配所有文字,列印第一列和第二列,中間以製表符分割。

awk -f',' '' ld

以,分割,匹配所有文字,列印第一列和第二列,中間以空格分割(,列印以空格分割)。

awk 'begin end' ld

在開頭和結尾列印666和8888。

awk -f',' '/12[1]/' ld

匹配到的行才列印。

awk 'end' filename

列印文字檔案的總行數

awk 'nr==1' filename

列印文字第一行

文字處理工具之awk

awk是乙個文字處理工具,也是一中指令碼語言。我常使用的就是下面的兩個功能。基本格式 awk f str beginend filename 參加下面的例項 failed to execute command lpush,key proc fast 109,value call addlottery...

AWK文字處理工具(Linux)

awk是什麼?與其它大多數unix命令不同的是,從名字上看,我們不可能知道awk的功能,因為awk是三個人名的縮寫,他們是 aho peter weinberg和 brain kernighan。正是這三個人創造了awk 乙個優秀的樣式掃瞄與處理工具。awk語言最基本的功能是在檔案或字串中基於指定的...

6文字處理工具

1 grep命令 i 忽略大小寫 n 顯示結果所在行的行號 c 結果個數 v 反向過濾 r 關鍵字 目錄 在目錄中過濾含有關鍵字的檔案 e 關鍵字1 關鍵字2 過濾多個關鍵字 root localhost cp etc passwd root localhost ls file filegreat ...