bash – 如何按版本号排序文件名?

目录“数据”是这些文件:

command-1.9a-setup
command-2.0a-setup
command-2.0c-setup
command-2.0-setup

我想对文件进行排序以获得此结果:

command-1.9a-setup
command-2.0-setup
command-2.0a-setup
command-2.0c-setup

我试过了

find /data/ -name 'command-*-setup' | sort --version-sort --field-separator=- -k2

但产量是

command-1.9a-setup
command-2.0a-setup
command-2.0c-setup
command-2.0-setup

我找到的唯一方法是给我我想要的输出

tree -v /data

我怎么能按需要的顺序排序输出?

如果你指定排序,你只想考虑第二个字段(-k2)不要抱怨它不考虑第三个字段.

在你的情况下,运行排序–version-sort没有任何其他参数,也许这将适合更好.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...