我一直在尝试使用我拥有的一些数据对特定列进行排序:
ID Name Last Grade
123 Bill Holy A
747 Chloe Crown B
757 Aaron Farmer D
365 Gray Billson
逐列我试图按数字顺序对第一列(ID)进行排序,按字母顺序对第二列(名称)进行排序,而所有其他数据都保持原样。我想在一个完整的命令中做到这一点。到目前为止,我已经尝试过
sort -k1,1 -k2,2 [filename]
,但这所做的只是按数字顺序对第一列进行排序,但第二列(名称)似乎没有改变或无论如何都没有排序。最后,当我运行此命令时,它使标题(ID、Name、Last、Grade)移动到底部。
您的示例包含唯一的字段 1 值(ID 号),因此如果数据按 ID 排序,随后按名称排序将无效。
排序程序对整个文件进行排序,无需查找标题行...
以下 awk 程序打印标题行,并将所有后续行发送到排序。
使用 gnu sed 和 sort :