我有一个包含一些列格式的数据的文件,例如:
219m
219m
3.9g
3.9g
4.0g
4.0g
4.1g
4.1g
4.2g
4.2g
4.2g
我想比较数据并找出其中的最大值。这里 g 代表 GB,m 代表 MB。如何使用 Linux shell 脚本找到最大数字?
答案1
sort -h
可以帮你做到这一点,但需要大写量级后缀(即“g”和“m”)。因此,对于你的数据,你可以这样做
tr a-z A-Z < filename | sort -h
在某些语言环境中,.
不被识别为小数分隔符(请参阅小数分隔符:使用示例 [维基百科])。如果是这种情况,请修改命令如下:
tr a-z A-Z < filename | LC_NUMERIC=C sort -h