1.正常使用
awk -F ":" '{print $1}' a.txt
Cat a.txt |awk '/inet/ {split($2,x,":");print x[2]}' #获取有inet的行 用:对第2个字符分割放入x数组中
awk '{gsub(/ /,"")1}' a.txt #去掉空格
awk '{gsub(/\$/,"");gsub(/,/,"");cost+=$4;}END{print "The sum is $"cost > "filename"}' awk_file
#去掉$和,符号,计算第四列的和
#NR 行号 NF 字段数 都是数值
awk '/python/ {print NR ,$NF, $1}' human.txt
awk '/python/&&$2>18 {printf("hang %i,name is %s,age is %i \n",NR,$1,$2)}' human.txt #$0是整条记录
2.awk处理两个文件内容,进行合并为一个文件
https://blog.youkuaiyun.com/imzoer/article/details/8734474
NR和FNR:NR在对多个文件操作时一直增加,FNR在操作新文件时重新置0计数,若要将两个文件内容合并为一个文件:
awk 'NR=FNR{a[NR]=$0}' a.txt #将a文件的每一行放入a的数据
awk 'NR>FNR{print $0}' a.txt b.txt #当到b文件时才开始输出b文件的每一行内容
两个结合:
awk 'NR=FNR{a[NR]=$0,nr=NR}NR>FNR{print a[NR-nr],$0}' a.txt b.txt #处理a文件时存放数据,处理b文件时输出数组a的数据同时和b文件的数据 一一对应,nr最终是a文件的行数,也就是一个周期