awk练习笔记

题目数据如下:

Mike Harrington:(510) 548-1278:250:100:175

Christian Dobbins:(408) 538-2358:155:90:201
Susan Dalsass:(206) 654-6279:250:60:50
Archie McNichol:(206) 548-1348:250:100:175
Jody Savage:(206) 548-1278:15:188:150
Guy Quigley:(916) 343-6410:250:100:175
Dan Savage:(406) 298-7744:450:300:275
Nancy McNeil:(206) 548-1278:250:80:75
John Goldenrod:(916) 348-4278:250:100:175
Chet Main:(510) 548-5258:50:95:135
Tom Savage:(408) 926-3456:250:168:200
Elizabeth Stachelin:(916) 440-1763:175:75:300

上面这个数据库的记录内容包括姓名、电话号码和最近3个月的竞选捐款数额。
1.打印在第二个月捐款超过100美元的人的姓和名。
awk -F: '$4>100{print $1}' lab3.data
2.打印在最后一个月捐款少于85美元的人的姓名和电话号码
awk -F: '$5<85{print $1,$2}' lab3.data
3.打印第一个月捐款额在75~150美元之间的人。
awk -F: '$5>=75 && $5<=150 {print $1}' lab3.data
4.打印这3个月的捐款总额不超过800美元的人。
awk -F: '$3+$4+$5 <= 800 {print $1}' lab3.data
5.打印月均捐款额大于200美元的人的姓名和电话号码。
awk -F: '$3+$4+$5 > 600{print $1,$2}' lab3.data
6.打印不在916区的人的姓。
awk -F"[ :]" '$3 !~ "916"{print $2}' lab3.data
7.打印每条记录,并在记录前加上其记录号。
awk '{print NR,$0}' lab3.data
8.打印每个人的姓名和捐款总额。
awk -F: '{print $1,$3+$4+$5}' lab3.data
9.把Chet第二个月的捐款额加上10
awk -F: '/Chet/{$4=$4+10} {print $0}' lab3.data
10.把 Nancy McNeil的名字改成Louise McInnes
awk -F: '/Nancy McNeil/{$1="Louise Mclnnes"} {print}' lab3.data

 

猜你喜欢

转载自www.cnblogs.com/jackis-tang/p/10745015.html
今日推荐