awk linux强大的文本处理工具
常用命令
# -F 指定分隔符
# $0 打印该行所有位置
# $1,$2,$3 打印对应位置
# $NF 打印匹配行最后一位
cat test.txt | awk -F'|' '{print $NF}'
# '~' 正则表达式匹配
awk -F"|" '{if($4~/info/)print $5}' test.txt
# 按行号匹配(匹配1-3行)
awk 'NR>=1&&NR<=3' test.txt
awk 'NR==1,NR==3' test.txt
# 按字符位置匹配
awk '/warn/,/error/' test.txt
# 打印第2位为"info"的所有行
cat test.txt | awk -F'|' '{if($2=="info") print $0}'
# 打印第五位小于10的行
cat test.txt| awk -F'|' 'BEGIN{max=10;}{if($5+0<max+0)print $0}'
# 分类求和,统计$4值相同时对应$5值的总和
cat test.txt | awk -F'|' '{sum[$4]+=$5}END{for(i in sum)printf("%-10s %d\n",i,sum[i])}'
标签:打印,常用命令,print,awk,Linux,test,txt
From: https://www.cnblogs.com/rustling/p/16971746.html