Bash 一个接一个排序,而保留第一个排序?

Bash 一个接一个排序,而保留第一个排序?,bash,sorting,unix,vim,Bash,Sorting,Unix,Vim,所以我使用sort通过我在vim中的第一列对其进行排序 apple bear apple zoo apple bar banana hockey banana football 但是,我希望它在第二列排序,它变成: apple bar apple bear apple zoo banana football banana hockey 您知道如何在vim中实现这一点吗?首先转到文件的开头: gg 然后使用“sort-k2”对缓冲区进行排序: !Gsort -k 2<ENTER>

所以我使用sort通过我在vim中的第一列对其进行排序

apple bear
apple zoo
apple bar
banana hockey
banana football
但是,我希望它在第二列排序,它变成:

apple bar
apple bear
apple zoo
banana football
banana hockey

您知道如何在vim中实现这一点吗?

首先转到文件的开头:

gg
然后使用“sort-k2”对缓冲区进行排序:

!Gsort -k 2<ENTER>

使用Vim的内置排序功能,以下功能对我有效:

:sort! r/ /|sort

即使不是从一开始就分类,这也能起作用。

@Sheller你可能想看看我不明白。对于给定的输入和输出,只需使用sort一次就可以了?!如果您想更改第一列和第二列的排序规则,则是另一回事,但我无法从您的问题中弥补这一点。