【发布时间】:2017-10-11 16:17:16
【问题描述】:
我是 linux/bash shell 的新手,我真的很难从文本文件的特定列中打印两个值(最高和最低)。文件格式如下:
Geoff Audi 2:22:35.227
Bob Mercedes 1:24:22.338
Derek Jaguar 1:19:77.693
Dave Ferrari 1:08:22.921
如您所见,最后一列是一个计时,我正在尝试使用 awk 打印出该列中的最高和最低计时。我真的很难过,我试过了:
awk '{print sort -n < $NF}' timings.txt
然而这似乎并没有对任何东西进行排序,我只收到了以下输出:
1
0
1
0
...
一遍又一遍地重复,它持续了更长的时间,但当你在前几次迭代后明白了这一点时,我不想要它的大行。
我想要的输出是:
Min: 1:08:22.921
Max: 2:22:35.227
【问题讨论】:
-
你试过这样的事情吗?他们将最后一列分成 3 列(小时、分钟、秒)并使用它们进行排序 stackoverflow.com/questions/22053402/…
-
只是补充一下,我意识到我尝试的输出是按顺序对它们进行排序,这只是我测试这是否可以确定最高和最低 - 而不是它是否会打印出最高最低,这只是一个起点。最终目的是打印出最高时序和最低时序。
-
我会试试您发送的链接中描述的内容并更新结果。
-
您的输入文件中真的有标题行吗? edit 你的问题是提供几行输入(我们不能有用地对 1 行进行排序!)加上所需的输出。确保在示例中包含您认为脚本难以处理的所有边缘情况。
-
您的第 3 列是否包含持续时间或时间?