Shell范例1:计算人均收入最高家庭

随机产生了一组测试数据,文件名为income.txt

1 3 4490
2 5 3896
3 4 3112
4 4 4716
5 4 4578
6 6 5399
7 3 5089
8 6 3029
9 4 6195
10 5 5145

说明:上面的三列数据分别是家庭编号、家庭人数、家庭月总收入。

实现

#!/bin/bash
[ $# -lt 1 ] && echo "please input the income file!" && exit -1
[ ! -f $1 ] && echo "$1 is not a file!" && exit -1
income=$1
awk '{ printf("%d %0.2f\n", $1, $3/$2); }' $income | sort -k 2 -n -r

说明:

[ $# -lt 1 ] :  要求至少输入一个参数
[ ! -f $1 ] :  要求输入参数是一个文件
sort -k 2 -n -r : 对结果第2列排序,-n代表按数字排序, -r代表按照递减的顺序排序

结果

$ ./gettopfamily.sh income.txt
7 1696.33
9 1548.75
1 1496.67
4 1179.00
5 1144.50
10 1029.00
6 899.83
2 779.20
3 778.00
8 504.83
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值