Linux命令在数据文件的特定列中查找最低值

时间:2019-01-19 12:11:00

标签: linux

我有一个包含三列的数据文件,我想搜索第三列中的最小值并打印列1,2和3的相应值。 我想使用linux终端命令来做。我该怎么办? 我尝试了grep命令并剪切了-f1 -d“,” SilhouetteRESFsi1.dat |排序-n |也为-1,但它没有给我正确的值。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用sort来获取第三列的最小值:

sort -n -k 3 file.txt | head -n 1
  • -n选项是按数字排序(默认为字母)
  • -k选项用于指定要排序的列
  • -t选项用于指定列分隔符(默认为空格或制表符)

说明:

由于使用了sort选项,命令-n可以对文件进行动态排序(将最低的编号放在第一位,然后将最大的放在最后)。 然后,head命令采用“正在运行的排序缓冲区”的第一行,因此仅产生一行(值最低的那一行)。

要削减三个最低值,例如:

sort -n -k 3 file.txt | head -n 3