如何在Linux中使用sort命令仅按第一个字段对日志文件进行排序?

3

我有一个名为a.log的日志文件!我想按第一个字段对其进行排序!如果两行具有相同的字段,则顺序将是原始内容! 内容:

 1. 101  c
 2. 100  b
 3. 100  a
 4. 2    d

I expect the result:

 1. 2    d
 2. 100  b
 3. 100  a
 4. 101  c

所以,我使用这个命令!
sort -nt 't' -k 1 a.log 

但结果是:
 1. 2    d
 2. 100  a
 3. 100  b
 4. 101  c

非常感谢!
2个回答

7

您忘记限制键字段。默认情况下,它将使用到行尾。

sort -nst '\t' -k 1,1 0507.log

非常感谢!我在我的电脑上测试了您的命令,但是“100 a”仍然高于“100 b”!这个命令在您的电脑上工作吗? - ttworkhard
分隔符实际上是制表符吗? - Ignacio Vazquez-Abrams
是的!我再次检查了一下,它是一个制表符。 - ttworkhard
3
啊。你还需要加上“-s”来使它稳定。 - Ignacio Vazquez-Abrams

0

快来看一下sort命令的手册...

   `-n`, --numeric-sort

      compare according to string numerical value

所以这里有一个例子...

sort -n filename

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接