2013-04-08 46 views
1

我需要按第一列(如果有数字输入)和第二列(第一列没有数据输入)排序文件。它基本上是这样的:用不完整的列对Linux文件进行排序

3 - foo bar 
1 1 foo bar 
- 5 foo bar 
2 2 foo bar 
- 4 foo bar 

,我需要的输出则是

1 1 foo bar 
2 2 foo bar 
3 - foo bar 
- 4 foo bar 
- 5 foo bar 

有没有什么好的办法做到这一点在linux用一个命令? 谢谢!

+0

而且你能指望什么发生,如果两列有 - ? – tink 2013-04-09 00:52:31

+0

这不会发生,其中一列总是有一个值。 – frixhax 2013-04-09 11:31:44

回答

1

在随后这种格式,你可以只使用基本的sort命令的输出:

sort -k 1,2 foo.txt 
+0

对不起,它并没有发生,它实际上很容易。 – frixhax 2013-04-09 11:34:17

+0

@frixhax - 很好,当它变得容易时很好! – teppic 2013-04-09 11:36:26