unix – 实现ls’-v标志的便携方式(即按版本排序)?
发布时间:2020-12-15 21:39:54 所属栏目:安全 来源:网络整理
导读:我正在研究一些构建脚本,我只想依赖标准化功能. 我需要按版本排序一些文件.假设文件是??bar-1.{0,2,3} bar-11.{0,3}. 默认情况下,ls给了我: bar-1_0bar-11_0bar-11_2bar-11_3bar-1_2bar-1_3 使用’ls -v’可以轻松获得我想要的东西: bar-1_0bar-1_2bar-1_3
我正在研究一些构建脚本,我只想依赖标准化功能.
我需要按版本排序一些文件.假设文件是??bar-1.{0,2,3} bar-11.{0,3}. 默认情况下,ls给了我: bar-1_0 bar-11_0 bar-11_2 bar-11_3 bar-1_2 bar-1_3 使用’ls -v’可以轻松获得我想要的东西: bar-1_0 bar-1_2 bar-1_3 bar-11_0 bar-11_2 bar-11_3 问题是‘ls -v’ is not standard.标准sort似乎也缺乏我想要的选项,尽管我可能会看旧版本的规格. 任何人都可以建议一种可移植的方式来实现这种效果,而不是编写我自己的排序程 谢谢, 解决方法
sort -n -t- -k2似乎做你想要的. -n给你数字(即非字母)排序; -t-将字段分隔符设置为 –,– k2选择第二个字段,即版本号.
我的排序,在Ubuntu上,甚至正确地用下划线做部分,但我不确定这是否是标准的.可以肯定的是,您可以先按次要版本排序,然后按主要版本排序. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |