45
推薦 在shell命令或程式設計中,可以用awk強大的的文字處理能力。如果要格式化報文或從乙個大的文字檔案中抽取資料報,那麼awk可完成這些任務。awk是一種解釋的程式語言。awk也是shell過濾工具中最難掌握的。awk是一種自解釋的程式語言。結合awk和sed和grep,將會使awk程式設計更加容易。
awk語言最基本的功能是在檔案或字串中基於指定的規則瀏覽和抽取資訊。
有三種方式可呼叫awk.
<1>.命令列方式。
<2>.將所有的awk命令插入乙個檔案,並利用chmod使awk檔案成為執行。
<3>.將所有的awk命令插入乙個單獨檔案,然後呼叫。
以下簡單介紹awk的各種方式,詳細請檢視相關另外文件
在awk中有四種概念。
1.抽取域
2.匹配正規表示式
3.比較域
4.向awk傳遞引數
以下簡單介紹:
1).儲存awk輸出: #awk '' myfile>newfile
2).使用tee,在輸出到檔案的同時輸出到螢幕(利用管道'|')
#awk '' myfile |tee newfile
3).列印報告頭,#awk 'begin ' newfile
4).列印資訊尾.#awk 'begin end ' myfile
5).匹配,如下若在myfile第二列中帶有brown,則列印資訊
#awk '' myfile
6).精確匹配,同上,只是將~改為==
7).不匹配,有時要瀏覽資訊並抽取不匹配操作的記錄,與~相反的符號是!,如下
#awk '$0 !~/brown/' myfile
8).比較
如小於: #awk 'if ($1<$2) print $1' myfile
9).設定大小寫 #awk '[gg]reen/' myfile
10).任意字元,表示式/^...a/意為前三個字元是任意字元
#awk '$1~/^...a/' myfile
11).或關係匹配,#awk '$0~/(yellow || red)/' myfile
12).與:&& ,或:||
13).awk內建變數
<1>.要快速檢視記錄個數,應使用nr,如:#awk 'end ' myfile <2>.以下使用nf變數顯示每一條讀記錄中有多少個域,並在end部份 列印輸入檔名。#awk ' end ' myfile
<3>. 判斷並輸出 . #awk '' myfile
#awk 'begin {if ($6
awk使用總結
dong 1.什麼是awk awk是unix linux提供的樣式掃瞄與處理工具,非常擅長處理結構化資料和生成表單。與sed 和grep 很相似,但功能卻超過大於兩者,由於awk具備各種指令碼語言的特點,所以也可以把它看做一種指令碼語言。本文介紹了awk的使用方法。2.awk程式設計模型 awk程式...
awk 使用技巧
倉庫db oracle home dwetl perl script cbs awk begin 1.txt113 3倉庫db oracle home dwetl perl script cbs awk f 1.txt 113 3 fs 設定輸入域分割符 等價於命令列 f選項 預設是tab或者空格 ...
AWK使用例項
在awk中,可以用!a 0 做為 條件,對 重複出現 的行進行 處理。b ash 3.2 cat 2 abc abc ef 123 dgag 123 bash 3.2aw k a 0 2 abc ef 123 dgag 對於awk a 3 需要了解3個知識點 1 awk陣列知識,不說了 2 awk的...