awk常见用法

来源:互联网 发布:阿里云金牌合作伙伴 编辑:程序博客网 时间:2024/05/21 09:43

$ awk '{print $1, $2}' xxxfile
$ awk '{printf "%-8s %-16s\n",$1,$2}' xxxfile
$ awk '$1==0 && $2=="XXX" || NR==1 ' xxxfile
$ awk  -F'[,:;]' '{print $1,$2,$3}' OFS="\t" xxxfile
$ awk '$1 ~ /REG/ || NR==1 {print NR,$1,$2,$3}' OFS="\t" xxxfile

$ awk -Fword '{print $1}' xxxfile

$ echo "1 2 3 4 5" | awk -vRS=' ' '{print $1}' xxxfile

$ awk 'BEGIN{do something}'

$ awk -F, 'BEGIN{OFS=FS}NR==FNR{print $0;next}{print $0}' file1 file2


内建变量
$0 当前记录(这个变量中存放着整个行的内容)
$1~$n 当前记录的第n个字段,字段间由FS分隔


FS 输入字段分隔符 默认是空格或Tab


NF 当前记录中的字段个数,就是有多少列

NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。

FNR 当前记录数,与NR不同的是,这个值会是各个文件自己的行号


RS 输入的记录分隔符, 默认为换行符


OFS 输出字段分隔符, 默认也是空格

ORS 输出的记录分隔符,默认为换行符


FILENAME 当前输入文件的名字
原创粉丝点击