vim – :排序你 – 但只在csv中的一列?
发布时间:2020-12-15 18:24:52 所属栏目:安全 来源:网络整理
导读:我正在寻找一个更具体的版本:sort u命令,它将删除文件中的所有重复行.我正在使用csv,我想删除第二列条目重复的所有行.一个例子应该有助于澄清: a,1,bg,fc,xi,2,lm,ko,pu,z sort命令应该产生: a,bi,l 注意:保留的特定行并不重要,只要在排序后第二列条目都
我正在寻找一个更具体的版本:sort u命令,它将删除文件中的所有重复行.我正在使用csv,我想删除第二列条目重复的所有行.一个例子应该有助于澄清:
a,1,b g,f c,x i,2,l m,k o,p u,z sort命令应该产生: a,b i,l 注意:保留的特定行并不重要,只要在排序后第二列条目都是唯一的 什么vim命令将产生上面的输出? 谢谢!
因为在这个问题下不可能实现转型
一次运行:sort命令,让我们将其视为一个两步过程. 第一步是按第二个逗号分隔的值对行进行排序 :sort/^[^,]*,/ 要以数字方式比较值,而不是按字典顺序,请使用n标志: :sort n/^[^,/ 第二步涉及运行排序的行并删除所有 ^[^,([^,]*),.*n[^,1,.* 因此,如果我们在满足此模式的每一行上运行:delete命令, :g/^[^,.*/d_ 这两个步骤可以组合在一个Ex命令中, :sort/^[^,/|g/^[^,.*/d_ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |