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