3

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

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

我所做的是首先对成绩进行排序,使其按顺序排列。然后我尝试使用以下命令对其进行管道传输:

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

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

任何帮助将不胜感激。

4

2 回答 2

0

你可以使用头部和尾部

头会先得到

尾巴会得到最后一个

于 2013-11-20T03:25:08.590 回答
0
sort -n grades | sed -n '1s/.*/Lowest: &/p;$s/.*/Highest: &/p;' 
Lowest: 2
Highest: 19

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

多个 Sed 命令由 ; 连接。1s 和 $s 表示第一行和最后一行。& 是整个读取表达式/行。p 打印结果。-n 通常是 - 不打印。

于 2013-11-20T03:32:00.557 回答