【发布时间】:2020-08-19 18:05:53
【问题描述】:
我是 Unix 编程新手。你能帮我解决这个问题吗? 例如,如果输入文件有以下内容
RollNo Name Score
234 ABC 70
567 QWE 12
457 RTE 56
234 XYZ 80
456 ERT 45
输出将是
ABC
我试过这样的
sort -k3,3 -rn -t" " | head -n2 | awk '{print $2}'
【问题讨论】:
-
允许使用哪些命令?
tail命令对于在对数据进行排序之前去掉标题行很有用,head 和 tail 可以用来挑选排序数据的第 n 行。 -
@MarkPlotnick tail 命令也允许使用。我尝试了上述方式(据我所知)。请你帮忙告诉那个命令。
-
Tail 输出其输入的最后一部分。您可以指定要输出的行数,从输入的末尾或从开头开始计数。以下是一些可能有所帮助的示例。
tail -n +2将输入的第二行到最后一行复制到输出。head -n 4将输出输入的前 4 行 - 您已经知道这一点 - 但head -n 4 | tail -n 1将只输出输入的第 4 行。你已经走了大部分路了;只需要稍微修改一下你的管道。尝试不同的东西,看看它们是什么样子的。