本文介绍了在Unix中排序,而其他字段不变的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文件

1 4 2 1 2
1 1 2 4 5
1 2 4 5 9
2 3 4 5 1
1 0 2 1 5
2 2 2 1 1

sort -k1文件给出

sort -k1 file gives

1 0 2 1 5
1 1 2 4 5
1 2 4 5 9
1 4 2 1 2
2 2 2 1 1
2 3 4 5 1

我只想对第一个字段进行排序,其他字段保留在它们应位于的位置,例如排序后的文件应提供:

I only want to first field to be sorted, others remains where they should be at, e.g. The sorted file should give:

1 4 2 1 2
1 1 2 4 5
1 2 4 5 9
1 0 2 1 5
2 3 4 5 1
2 2 2 1 1

类似地-k1r testsort给出

Similarly sort -k1r testsort gives

2 3 4 5 1
2 2 2 1 1
1 4 2 1 2
1 2 4 5 9
1 1 2 4 5
1 0 2 1 5

当我希望成为

2 3 4 5 1
2 2 2 1 1
1 4 2 1 2
1 1 2 4 5
1 2 4 5 9
1 0 2 1 5

如何在Unix中执行此操作?

How can I do this in unix?

推荐答案

尝试一下:

sort -s -n -k 1,1

这将起作用,要了解更多信息,请参见此处

This will work, and to learn more you can see here

这篇关于在Unix中排序,而其他字段不变的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 16:45