我有一个这样开头的文件:
#Population, Year, County
3900, 1969, Beaver
3798, 1970, Beaver
3830, 1971, Beaver
3864, 1972, Beaver
3993, 1973, Beaver
3976, 1974, Beaver
4064, 1975, Beaver
我需要能够使用grep,sort和另一个命令对这个文件进行排序,以打印出1898年以来人口最多的五个县(这个文件要长得多,上面的例子只是一个样本)。我有点困惑,我怎么能用grep和sort做这样的事情。我需要能够按降序输出解决方案。我想我应该先按年份排序,在1898年之前删除所有年份,然后再根据人口重新排序,得到人口最多的县。
谢谢你的帮助。
最佳答案
使用awk
筛选年份>1898的行,然后按总体降序排序,然后打印前5行
从命令行
awk '$2>1898' test.txt | sort -r | head -6
打印前6行还将打印5条记录+标题行。
我是一个偶尔的
awk
用户。我最初的脚本太复杂了。感谢@Jotne提供了一个简单的解决方案。