注意:如果以命令行的方式提供awk程序,而不是將它寫入一個文件中,那麼在程序的任何地方都不能出現單引號,否則shell將對它進行解釋而導致錯誤。
記錄:每一行輸入爲一個記錄。
字段: 由空格或製表符分隔的單詞成爲字段。
使用-F來修改分隔符,例如:
-F,
將分隔符修改成逗號。
常用系統變量:
FS Field separator (default=whitespace)
RS Record separator (default=\n)
NF Number of fields in current record
NR Number of the current record
OFS Output field separator (default=space)
ORS Output record separator (default=\n)
FILENAME Current filename
簡單範例:
awk '$2 !~ /E/{print $1, $2}' datafile
awk '/^[ns]/{print $1}' datafile
awk '$3 * $4 > 500 {print $0}' file
awk '$1 ~ /Tom/{wage = $3 * $4; print wage}' filename
內建函數:
tolower(string)
toupper(string)
index(s, t)
length(s)
split(string, array, fieldsep)
substr(s,p) substr(s,p,n)
match(s,r)
控制結構語句:
if ( NR < 3 )
print $2
else
print $3
for (i = 1; i <= NR; i++)
{
total += $i
count++
}
i = 1
while (i <= NF)
{
print i, $i
i++
}
i = 1
do {
print $0
i++
} while (i <= 10)