Linux shell根据第二列sorting文件?

我有这样的文件:

FirstName, FamilyName, Address, PhoneNumber 

我怎样才能按FamilyNamesorting?

如果这是UNIX:

 sort -k 2 file.txt 

您可以使用多个-k标志对多个列进行sorting。 例如,按姓氏sorting,然后作为联络中断者的名字:

 sort -k 2,2 -k 1,1 file.txt 

“人sorting”的相关选项:

-k,–key = POS1 [,POS2]

在POS1开始一个键,在POS2(结束点1)

POS是F [.C] [OPTS],其中F是字段号,C是字段中的字符位置。 OPTS是一个或多个单字母订购选项,它会覆盖该键的全局订购选项。 如果没有键,则使用整行作为键。

-t,–field-separator = SEP

使用SEP而不是非空白转换

要仅按第二个字段进行sorting(因此,在第二个字段匹配的位置,具有匹配的那些行保持原始顺序,而不对其他字段进行sorting):

 sort -k 2,2 -s orig_file > sorted_file 

sort -nk2 file.txt

因此,您可以更改列号。

FWIW,这是一个sorting方法,用于显示哪些进程正在使用最大的内存。

 memstat | sort -k 1 -t':' -g -r | less 

sorting选项设置为第一列,使用:作为列分隔符,数字sorting和反向sorting。