一,什么是awk
awk是linux下的一個命令,他對其他命令的輸出,對文件的處理都十分強大,其實他更像一門編程語言,他可以自定義變量,有條件語句,有循環,有數組,有正則,有函數等。他讀取輸出,或者文件的方式是一行,一行的讀,根據你給出的條件進行查找,并在找出來的行中進行操作,感覺他的設計思想,真的很簡單,但是結合實際情況,具體操作起來就沒有那么簡單了。他有三種形勢,awk,gawk,nawk,平時所說的awk其實就是gawk。
二,awk中的記錄,域,分割符
當我們讀取輸出時,或者讀取文件時,讀取一行就是一個記錄。記錄分割符是默認是回車符,保存在RS,ORS中。
我們從記錄中分割出我們要單詞,或者是詞組等,我們稱他為域,域分割符,默認的是空格和TAB銉,保存在內建變
量ORS中。舉個例子:
aaaa:bbbb:ccccccc
1111:2343:5t43343
上面有二行,這二行就是二個記錄,每行后面的回車呢,就是記錄分割符,里面冒號呢,就是域分割符,分割出來的,aaaa,1111這類東西就是域了。
awk -F: '{print $1}' testfile
三,awk的內建變量和運算符
1,變量