如何使用Unix排序进行自定义排序?
我正在使用unix sort对具有多个列的逗号分隔文件进行排序。到目前为止,这对于按数字或字母顺序对数据进行排序非常有效: 任何排序之前的示例文件: C,United States,WA,Tacoma,f,1 A,United States,MA,Boston,f,0 B,United States,NY,New York,f,5 A,Canada,QC,Montreal,f,2 A,Bahamas,Bahamas,Nassau,f,2 A,United States,NY,New York,f,1 排序文件: $ sort -t ',' -k 2,2 -k 3,3 -k 4,4 -k 5,5r -k 6,6nr tmp.csv 排序结果: A,Bahamas,Bahamas,Nassau,f,2 A,Canada,QC,Montreal,f,2 A,United States,MA,Boston,f,0 B,United States,NY,New York,f,5 A,United States,NY,New York,f,1 C,United States,WA,Tacoma,f,1 问题是:我想根据自定义排序对第2列进行排序,这意味着我要首先是美国,然后是加拿大,然后是巴哈马: 所需的排序: A,United States,MA,Boston,f,0 B,United States,NY,New …