linux - 使用 awk 按多列排序

标签 linux sorting unix awk

我有以下排序代码:

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

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

我正在使用 awk 寻找与此命令等效的命令

请多多指教

最佳答案

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

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

关于linux - 使用 awk 按多列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31694482/

相关文章:

python - 错误 : command 'x86_64-linux-gnu-gcc' failed with exit status 4

linux - 预计无法在我的 Bash 脚本中运行

linux - 期望命令中的文件存在

linux - 编写修改 gcc c 编译器的 bash 脚本

c - 内核模块中的错误处理

linux - 如何在 linux 中最后一次出现特定命令之前运行所有命令

按日期对 SPARQL 结果排序

按上述顺序自定义排序 {2,3....9,A,B,C,D,1,E,F,0}

javascript - 如何使用 Ember 突出显示当前选定的列?

unix - 确定 fork/exec 成功或失败的标准方法(当父进程同时运行时)?