我想对具有多个列的文件进行排序,例如,如果对第一列的一个唯一条目进行排序,则对与该第一个条目相关的第二列进行排序。例如我的输入文件是:
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
怎么做?
答案 0 :(得分:1)
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 ,然后排序第三列。
答案 1 :(得分:0)
只需使用:
sort file
应该做的伎俩