Mac OS X 中是否有相当于ls -v
版本号排序的程序?
在 Mac OS X 中,ls -v
不进行版本号排序,但 Finder 似乎会。
答案1
OS X默认ls
没有版本排序功能。这是 GNU 的一个功能ls
,大多数 Linux 都自带此功能,但 OS X 不附带此功能。您可以ls
通过GNU 核心实用程序包裹。
在 Mac 上获取它的最简单方法是安装一个包管理器,例如自制 或者麦金塔并通过它安装 coreutils。
例如,安装 Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
稍等片刻,阅读安装说明。然后,安装 coreutils:
brew install coreutils
这将添加所有带有前缀的 GNU coreutils g
,因此例如您将能够使用gls
而不是ls
,它现在提供版本排序。
要覆盖默认ls
行为(以及其他内置行为),您可以将此行添加到~/.bash_profile
:
source /usr/local/Cellar/coreutils/8.12/aliases
请注意,这可能会影响依赖 BSD 版本的其他程序。如果您只想使用别名ls
,请使用以下命令:
alias ls="$brew_prefix/bin/gls"
答案2
http://www.islamadel.com/en/notes/6-computer/37-sort-version-number-mac
用于在 Mac 终端上正确排序版本号的 Bash 脚本