# 输出包含 "re" 的行
$ awk '/re/ ' log.txt
---------------------------------------------3Do you like awk
10There are orange,apple,mongo
忽略大小写
$ awk 'BEGIN{IGNORECASE=1} /this/' log.txt
---------------------------------------------2thisis a test
This's a test
模式取反
$ awk '$2 !~ /th/ {print $2,$4}' log.txt
---------------------------------------------Are like
a
There orange,apple,mongo
$ awk '!/th/ {print $2,$4}' log.txt
---------------------------------------------Are like
a
There orange,apple,mongo
$ awk -f cal.awk score.txt
NAME NO. MATH ENGLISH COMPUTER TOTAL
---------------------------------------------Marry2143788477239Jack2321667845189Tom2122487771196Mike2537879795279Bob2415405762159---------------------------------------------
TOTAL:319393350
AVERAGE:63.8078.6070.00
另外一些实例:
AWK 的 hello world 程序为:
BEGIN{print"Hello, world!"}
计算文件大小
$ ls -l *.txt | awk '{sum+=$5} END {print sum}'--------------------------------------------------666581
从文件中找出长度大于 80 的行::
awk 'length>80' log.txt
打印九九乘法表
seq 9| sed 'H;g'| awk -v RS='''{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}'