在Linux Shell脚本中对多列进行排序

阿布巴卡·西迪克(Abubakar Siddique)

我想对具有多列的文件进行排序,例如,如果对第一列的一个唯一条目进行了排序,则对与该第一条目相关的第二列进行排序。例如,我的输入文件是这样的:

192.168.1.10 10 www.google.it
192.168.4.10 14 www.google.it
192.168.1.10 20 www.google.it
192.168.1.10 15 www.google.it
192.168.5.10 11 www.google.it
192.168.6.10 31 www.google.it
192.168.1.10 24 www.google.it
192.168.6.10 25 www.google.it

如果我想在linux shell中对它进行排序,它应该变成这样:

192.168.1.10 10 www.google.it
192.168.1.10 15 www.google.it
192.168.1.10 20 www.google.it
192.168.1.10 24 www.google.it
192.168.4.10 14 www.google.it
192.168.5.10 11 www.google.it
192.168.6.10 25 www.google.it
192.168.6.10 31 www.google.it

怎么做?

西夫夫

man sort,您将获得以下输出:

-k, --key=POS1[,POS2]
       start a key at POS1 (origin 1), end it at POS2 (default end of line). See POS syntax below

sort命令支持多级排序,例如:

sort -t ',' -k1,1 -k3,3 test.txt

首先按第一列test.txt排序,然后对第三列进行排序

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章