使用awk按多列排序

时间:2015-07-29 07:55:32

标签: linux sorting unix awk

我有以下sort代码:

sort -t, -k18,18n -k21,21nr

使用,分隔符对文件进行排序,首先按列$18升序,然后按列$21降序。

我正在寻找使用awk

的等效命令

请咨询

2 个答案:

答案 0 :(得分:0)

使用以下代码解决了问题:

$ awk -F, 'a[$18]<$21{a[$18]=$21;b[$18]=$0}END{for(l in b){print b[l]}}'

答案 1 :(得分:-2)

我建议写一个像python这样的脚本。 像这样:     导入csv     data = csv.reader(“filename”)     s =已排序(s,key = lambda x:(x [18],x [21]))     print s