回顧一下,awk的使用方法awk 'program ' data
所以data對於awk也是很重要的一部分。
egrep是乙個可以對輸入的資料進行匹配選擇的程式,他的速度要快於awk
egrep 'asia' countries : awk 'program'
預設fs=」「,也就是會按照blanks and/or tabs 進行分隔。所以會忽略多個空格及tab
fs也可以通過正規表示式進行設定,awk參考書中給出了例子
begin
行分隔符由rs的值決定,預設是」「,分隔符是:乙個或者多個空行分隔
begin
設定記錄按照乙個或者多個空行分隔,同時列在單獨的乙個行。
乙個記錄最多可以有3000個字元。更多設定見後。
getline會讀取下一行記錄,並進行nf,nr,fnr的設定
返回值為0表示eof檔案結束,為1表示正確讀取了一條資料,-1表示錯誤讀取,比如開啟檔案失敗。
#好像是include的實現文件?
# include - replace #include "f" by contents of file f
/^#include/
函式
sets
getline
$0, nf, nr, fnr
getline var
var, nr, fnr
getline
$0, nf
getline var
varcmd | getline
$0,nf
cmd | getline var
var
訪問file出問題時,getline返回值為-1,會陷入死迴圈
加上判斷語句,只有getline返回值大於0即為1的時候才可以執行。(1>0)
next 和getline
awk 'program' f1 f2 …
awk -f progfile f1 f2 …
awk -fsep
'program' f1 f2
awk -fsep
-f progfile f1 f2 …
f1,f2…在命令列中通常是表示檔名的引數。
如果有乙個部分是var=text ,這就是將text付給var。這個操作可以在讀取file前後執行。
command-line arguments命令列賦值
argc和argv
awk實現seq列印整數序列
寫好seq之後可以用awk進行呼叫
# seq - print sequences of integers
# input: arguments q, p q, or p q r; q >= p; r > 0
# output: integers 1
to q, p to q, or p to q in steps of r
begin
以下三種方式都可以生成1-10的整數序列
awk -f seq 10
awk -f seq 1 10
awk -f seq 1 10 1
awk學習筆記
單詞計數 cat filename awk end 排序演算法 bin bash function f while n 1 do f 1 shift done wait 顯示特殊符 var i am a student echo var awk 結果為 am a i student echo var...
awk學習筆記
1 將第一列重複的元素去掉,只保留第乙個 root centos awk test cat sed u.txt haha 1 nihao 1 haha 3 hehe 4 heihei 5 heihei 6 1 haha 1 heihei root centos awk test awk f a 1 ...
AWK學習筆記
1.awk是三個 人名的縮寫,他們是 aho peter weinberg和 brain kernighan。awk是一種樣式掃瞄與處理工具。但其功能卻大大強於sed和grep。awk支援對記錄和字段的處理,其中對字段的處理是grep和sed不能實現 的,這也是awk優於二者的原因之一。2.與其它u...