如何逐列按字母顺序排列CSV文件中的所有行?

时间:2012-04-19 12:25:15

标签: bash sorting awk

我有一个三列的CSV文件,如下所示:

chips@food@f
pizza@food@f
tiger@animal@a
fish@animal@a
marshmallow@food@f
New Years@festivals@f

我需要对行进行按字母顺序排列,首先是第3列,然后是第2列,然后是第1列。输出将为:

fish@animal@a
tiger@animal@a
New Years@festivals@f
chips@food@f
marshmallow@food@f
pizza@food@f

如何以这种方式对数据进行排序?

  • 有些列包含UTF-8数据。

1 个答案:

答案 0 :(得分:7)

您可以尝试sort命令:

$ sort -t@ -k3,3 -k2,2 -k1,1 input.csv
fish@animal@a
tiger@animal@a
New Years@festivals@f
chips@food@f
marshmallow@food@f
pizza@food@f