我有一个文件,开头是这样的:
#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年之前的所有年份,然后再根据人口进行排序,以获得人口最多的县。
非常感谢您的帮助。
发布于 2014-02-05 09:58:31
使用awk筛选年份>1898的行,然后按人口降序排序,然后打印前5行
从命令行
awk '$2>1898' test.txt | sort -r | head -6打印前6行也将打印5条记录+标题行。
我偶尔会使用awk。我最初的awk脚本太复杂了。感谢@Jotne提供了一个简单的解决方案。
https://stackoverflow.com/questions/21566898
复制相似问题