Есть ли в Mac OS X эквивалент ls -v
который будет выполнять сортировку номеров версий?
В Mac OS X ls -v
НЕ выполняет сортировку номеров версий, но, похоже, Finder.
По умолчанию ls
в OS X не имеет возможности сортировки версий. Это особенность GNU ls
, которая поставляется с большинством Linux, но не поставляется с OS X. Вы можете установить GNU ls
через пакет GNU coreutils .
Самый простой способ получить его на Mac - это установить менеджер пакетов, такой как Homebrew или MacPorts, и установить через него 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"
http://www.islamadel.com/en/notes/6-computer/37-sort-version-number-mac
bash-скрипт для правильной сортировки номеров версий на Mac-терминале