带排序功能的多个 grep 命令

带排序功能的多个 grep 命令

我有一个包含学生成绩列表的文本文件:

Andrew cooking A
Andrew cooking B
Andrew computing F
Steven java C
Steven python E
Ben C++ D
Ben python C
Jamie java E
Jamie C++ E
Jamie C++ B
Jamie python E
Gerry python E
Phil python F

我正在尝试使用 grep 命令来显示所有 python 结果,从最好到最差的等级排序。该文件名为a.txt.我已经尝试过grep python a.txt | sort -d这不起作用,所以我正在寻求一些帮助。谢谢

答案1

使用该命令:

awk '$2=="python"{print}' a.txt | sort -dk3

如果第二个字段python打印整行并将其放在sort第三个字段上。

答案2

如果您不熟悉,awk您可能会发现以下解决方案更容易掌握:

grep "python" a.txt | sort -dk 3 | cut -d " " -f 1,3
  • grep选择包含给定单词的行

  • sort根据第三个键按降序排序

  • cut正在摆脱“蟒蛇”这个词。如果它出现在每一行中,则不会将任何信息带入图片中。

结果:

Ben C
Gerry E
Jamie E
Steven E
Phil F

相关内容