我有一个像这样开始的文件:
#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年之前删除所有年份,然后根据人口再次排序以获得人口最多的县。
感谢您的帮助。
答案 0 :(得分:1)
使用awk
过滤年份> 1898的行,然后按总体按降序排序,然后打印前5行
从命令行
awk '$2>1898' test.txt | sort -r | head -6
打印前6行还将打印5条记录+标题行。
我偶尔是awk
用户。我最初的awk
脚本太复杂了。感谢@Jotne提供的简单解决方案。