我需要按第三列对第一列进行排序,保留第一列完整[第一列已排序](在Linux中)。 (第二列可能会改变)排序第三列离开第一列和第二列完整(在Linux中)
例I/P文件: -
b:di:wave
b:di12:red
b:di12:wave
b:di06:pir
应该像这样: -
b:di06:pir
b:di12:red
b:di12:wave
bast:di:wave
我尝试了几种排序选择,但我的第二列可排序只但不是第三。
有人可以帮忙吗?
我需要按第三列对第一列进行排序,保留第一列完整[第一列已排序](在Linux中)。 (第二列可能会改变)排序第三列离开第一列和第二列完整(在Linux中)
例I/P文件: -
b:di:wave
b:di12:red
b:di12:wave
b:di06:pir
应该像这样: -
b:di06:pir
b:di12:red
b:di12:wave
bast:di:wave
我尝试了几种排序选择,但我的第二列可排序只但不是第三。
有人可以帮忙吗?
试试这个:
sort -t: -k1,1 -k3 data.txt
给出:
bast:disp-san-d5-06:piranha
bast:display-san-12:redbird
bast:display-san-07:waverider
bast:display-san-12:waverider
这将第一场作为主键,第三场为二级密钥分割排序行成田由:
详情:
data.txt
包含您帖子的4行。
您可以指定多个字段排序键,看到man page
-k1,1
排序是指在第一场(在区域1和结束在现场1开始,否则它会继续使用该行的其余部分用于确定排序)
-k3
意味着排序在第三个字段作为第二密钥。由于没有其他领域,所以没有必要指定-k3,3
,但它也不会伤害。
-t:
手段界定与:
人物台词领域,否则为空白默认使用
更多信息,请参见这太问题Sorting multiple keys with Unix sort和sort man page
我认为这将打破第一场的排序。你仍然需要排序第一,然后第三场,即使输入已经排序在第一场 – Pat
@Pat我认为这将做到 - 再次感谢抓住那个..与数据给出的问题是不明显的我。 – Levon
工作得很好。感谢您的帮助。 – user1429246
请编辑您的问题;不要把这个难以理解的混乱置于评论中。 –