在Linux中打印文件的Min和Max

时间:2013-11-20 03:21:55

标签: linux scripting minmax

这是一项家庭作业,我在这里有点难过。目标如下:

创建一个名为grade的文件,其中包含测验分数。应该创建该文件以便 每行只有一个测验分数。编写一个名为minMax的脚本,它将接受一个参数 表示文件成绩,然后确定收到的最低和最高分数 在测验。您的脚本应以以下格式显示输出: 你的最高测验成绩是#。 你的最低测验分数是#。

我为实现这一目标所做的是首先对等级进行排序,使其按顺序排列。然后我试图用这个命令管道它,如:

sort grades |awk 'NR==1;END{print}' grades

我完成后得到的输出是文件的第一个和最后一个条目,但它不再排序,我不知道如何选择第一个和最后一个打印它们,是1美元和2美元?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

sort -n grades | sed -n '1s/.*/Lowest: &/p;$s/.*/Highest: &/p;' 
Lowest: 2
Highest: 19

如果要按数字排序,则需要排序-n 。 使用sed,您可以一次性处理它。

多个Sed comamnds连接在一起; 1s和$ s表示第一行和最后一行。 &安培;是整个读表达式/行。 p打印结果。 -n是 - 一般不打印。

答案 1 :(得分:0)

你可以使用头部和尾部

头会得到第一个

尾巴会得到最后的