awk编程的问题
发表于 : 2011-09-10 10:49
lab.data文件是
要求写一个脚本
a.打印Savage中所有的名字和号码
b.打印Chet的捐赠数额
c.打印所有第一个月捐赠数额为250的人的资料
我写的脚本facts
运行结果不对
然后我用下面的方法得到了正确的结果
请教正确的facts文件怎么写?
代码: 全选
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
a.打印Savage中所有的名字和号码
b.打印Chet的捐赠数额
c.打印所有第一个月捐赠数额为250的人的资料
我写的脚本facts
代码: 全选
BEGIN{FS=": "}
/Savage/{print $1,$2,$4}
/Chet/{print $5,$6,$7}
$4==250{print $1,$2,$4
代码: 全选
awk -f facts lab.data
Jody Savage:[206] 548-1278:15:188:150
Dan Savage:[406] 298-7744:450:300:275
Tom Savage:[408] 926-3456:250:168:200
代码: 全选
awk -F'[: ]' '$2~/Savage/{print $1,$2,$4}\
> $1~/Chet/{print $5,$6,$7}\
> $5==250{print $1,$2,$4}' lab.data