awk使用
sed -n '/queryAll2/p' 2017-02-20.log | awk -F ',' '{print $2}'| awk -F ' ' '{if (($1 >=13 && $2 =="Mar")) print $0 }' | wc -l
awk ? ' BEGIN ?{size=0;} ?{size=size+$5;} ? ?END ? ?{print " [end] ?size is ", size} ?'
awk -F ?',' ? '{ ?print $2 ?}'
if 語句: C格式
if(expression) {
statement;}
awk -F ?':' ? ?' ?BEGIN ? {count=0;} {name[count] = $1;count++;}; END ?{for (i = 0; i < NR; i++) print i, name[i]} ? ' ? ?filename
其他用法:
非精確匹配:
awk? ' $1~/man/{print $0} ' ?filename?
?輸出第1列中的字符串 含有man的 ? 那行記錄;
精確匹配:
awk ' $1 == "man" ?filename
批量修改:
awk ?' { if($1~/man/) ? { $1 ="WOMAN" ?print $0 } } '
該例調(diào)用了awk內(nèi)置函數(shù)gsub(r,s),匹配正則表達(dá)式~/man/ ? 替換;

附:內(nèi)置常量
ARGC? ? ? ? ? ? ? 命令行參數(shù)個(gè)數(shù)
ARGV? ? ? ? ? ? ? 命令行參數(shù)排列
ENVIRON? ? ? ? ? ? 支持隊(duì)列中系統(tǒng)環(huán)境變量的使用
FILENAME? ? ? ? ? awk瀏覽的文件名
FNR? ? ? ? ? ? ? ? 瀏覽文件的記錄數(shù)
FS? ? ? ? ? ? ? ? 設(shè)置輸入域分隔符,等價(jià)于命令行-F選項(xiàng)
NF? ? ? ? ? ? ? ? 瀏覽記錄的域的個(gè)數(shù)
NR? ? ? ? ? ? ? ? 已讀的記錄數(shù)
OFS? ? ? ? ? ? ? ? 輸出域分隔符
ORS? ? ? ? ? ? ? ? 輸出記錄分隔符
RS? ? ? ? ? ? ? ? 控制記錄分隔符
將所有的awk命令插入一個(gè)單獨(dú)文件,然后調(diào)用:awk -f ? ?awk-script-file ? ?input-file(s)
其中,-f選項(xiàng)加載awk-script-file中的awk腳本,input-file(s)跟上面的是一樣的