linux - 在 Linux 中从文件中打印最小值和最大值

标签 linux scripting minmax

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

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

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

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

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

如有任何帮助,我们将不胜感激。

最佳答案

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

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

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

关于linux - 在 Linux 中从文件中打印最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20086702/

相关文章:

java - 哪个会导致cpu 99%ni?

linux - 如何在 shell 脚本中回显动态变量的内容

windows - 包装可执行文件以诊断其调用

python - MinMaxScaler 仅生成正值

python - 列表的最小值和最大值(不使用最小/最大函数)

c - 并非所有写入 FIFO 的消息都在读取时收到

linux - 使用 csvfix for linux 对数值进行排序 - 将数字转换为字符串

c - 使用 fork(),如何让子进程始终先运行?

c# - 提取Word文档数据并插入SQL数据库

css - React 元素中无法识别 minmax CSS 函数