[toc]
1、简单例子
awk 'BEGIN {print "Hello world!"}' # 这个不需要文件输入就可以
echo a b c d | awk '{one=1;two=2}{print $(one + two)}'
2、分隔符
指定分隔符,正则指定 :
-F "\t"
:表示分隔符为\t
FS
:表示分隔符
FS="\t"
: 指定一个 tab 为分隔符
FS="\t+"
: 指定一个以上的 tab 为分隔符【正则】
FS="[':\t]"
: 指定'、:、 tab 中任何一个为分隔符
BEGIN {FS=","}{print $1 "," $6} # 使用,为分隔符
3、文件
awkscr
文件:
/^$/ {print "This is a blank line"}
运行脚本文件awkscr
对应于test.txt
文件:
awk -f awkscr test
4、模式匹配
awk '/^$/ {print "This is a blank line"}' test.txt
awk '/[0-9]/ {print "This is a blank line"}' test.txt
awk '/[A-Za-z]/ {print "This is a blank line"}' test.txt
5、if语句
awk -F"," '{ if($4=="江苏"){print $1} else {print $0} } ' test.txt
更详细:
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html
http://awk.readthedocs.io/en/latest/chapter-one.html