我有这样一个文件:
FirstName, FamilyName, Address, PhoneNumber
Run Code Online (Sandbox Code Playgroud)
我如何按FamilyName对其进行排序?
Joh*_*ica 143
如果这是UNIX:
sort -k 2 file.txt
Run Code Online (Sandbox Code Playgroud)
您可以使用多个-k标志对多个列进行排序.例如,要按姓氏排序,请将名字作为平局:
sort -k 2,2 -k 1,1 file.txt
Run Code Online (Sandbox Code Playgroud)
"man sort"的相关选项:
-k, - key = POS1 [,POS2]
在POS1开始一个键,在POS2结束它(原点1)
POS是F [.C] [OPTS],其中F是字段编号,C是字段中的字符位置.OPTS是一个或多个单字母排序选项,它覆盖该键的全局排序选项.如果没有给出密钥,请使用整行作为密钥.
-t, - field-separator = SEP
使用SEP代替非空白到空白转换
小智 7
要仅按第二个字段排序(因此第二个字段匹配,那些匹配的行保持原始顺序,而不在其他字段上排序):
sort -k 2,2 -s orig_file > sorted_file
Run Code Online (Sandbox Code Playgroud)