我需要编写一个将在CSV文件上运行的脚本,其中包含例如4列。 CSV文件必须进行两次排序,首先是第一列,然后是第三列。至于使用分隔符对行进行排序非常容易,我需要建议一下这两步排序的最佳方法是什么?我认为按顺序进行这些排序会有点困难,最聪明的方法是在准备好的部分线上对第3列进行排序,使用相同的值从排序的第一列,然后在具有相同下一个值的部分,等...最后合并一切...
CSV示例:
AB08,ANYTHING,EXAMPLE_2,ANYTHING
AB24,ANYTHING,EXAMPLE_2,ANYTHING
AB08,ANYTHING,EXAMPLE_1,ANYTHING
AB06,ANYTHING,EXAMPLE_1,ANYTHING
AB24,ANYTHING,EXAMPLE_1,ANYTHING
AB08,ANYTHING,EXAMPLE_3,ANYTHING
期望的样子:
AB06,ANYTHING,EXAMPLE_1,ANYTHING
AB08,ANYTHING,EXAMPLE_1,ANYTHING
AB08,ANYTHING,EXAMPLE_2,ANYTHING
AB08,ANYTHING,EXAMPLE_3,ANYTHING
AB24,ANYTHING,EXAMPLE_1,ANYTHING
AB24,ANYTHING,EXAMPLE_2,ANYTHING
我会使用PHP脚本对其进行排序和解析,但我想知道shell命令是不是更好地处理这个问题(sort / grep / awk)?
感谢您的帮助:)
干杯
答案 0 :(得分:1)
sort -t , -k 1,3
应该这样做。