您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页AWK 中级篇

AWK 中级篇

来源:二三四教育网

实战(7个案例)

//测试文本 score.txt(同上一篇)
Aaron    Physics    87
Abel     Maths      98
Rahul    Chinese    90
Buck     Biology    87
Byron    English    85
Dave     History    89
Enoch    Chemistry  89
//取出成绩 大于 等于 90分的数据。
[root@vagrant-centos65 awk]# awk '$3 >= 90 {print $0}' score.txt
Abel     Maths      98
Rahul    Chinese    90
//取出成绩 >= 90分 and <=95的数据。
[root@vagrant-centos65 awk]# awk '($3 >= 90) && ($3 <= 95) {print $0}' score.txt
Rahul    Chinese    90
//取出成绩 <= 86分 或者 >=96的数据。
[root@vagrant-centos65 awk]# awk '($3 <= 86) || ($3 >= 96) {print $0}' score.txt
Abel     Maths      98
Byron    English    85
//计算总分数(BEGIN END 语法)
[root@vagrant-centos65 awk]# awk 'BEGIN{cnt=0}{cnt+=$3} END {print cnt}' score.txt
625
//匹配第三个字符等于c的行
[root@vagrant-centos65 awk]# awk '/^..c/' score.txt
Buck     Biology    87
//打印表头
[root@vagrant-centos65 awk]# awk 'BEGIN{print "Name Socre\n----------"} {print $1 "\t" $3}' score.txt
//统计相同的次数,并且按照重复次数排序
[root@vagrant-centos65 awk]# awk '{a[$3]++} END{for(i in a){print i,a[i] | "sort -r -n -k2"}}' score.txt
89 2
87 2
98 1
90 1
85 1

温馨提示:
如果想把内容写入到文件中,可在命令后添加 “> 文件名” 即可。


Thanks ~

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务