# test.txt
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
# 指定,为分隔符,在test中查找,并且输出分隔之后的每行的第一、第四个元素。分隔符默认为空格(包括tab)
awk -F, '{print $1,$2}' test.txt
2 this is a test
3 Are you like awk
This's a test
10 There are orange apple
# 格式化输出,第一个元素和第四个元素的占位
awk '{printf "%-8s %-10s\n",$1,$4}' log.txt
2 a
3 like
This's
10 orange,apple,mongo
# 设置变量-v参数,a=1,如果原有元素为非数字则进行运算时为0
awk -va=1 '{print $1,$1+a}' log.txt
This's 1
10 11
# 将awk命令存为脚本保存,使用-f参数作为允许脚本
awk -f cal.awk log.txt
# 过滤第一项大于2的行(很神奇的是,这里的非数字不能作为0来比较)
awk '$1>2' log.txt
3 Are you like awk
This's a test
10 There are orange,apple,mongo
# 过滤第一列大于2并且第二列等于'Are'的行
awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt
3 Are you