10

Есть ли в Mac OS X эквивалент ls -v который будет выполнять сортировку номеров версий?

В Mac OS X ls -v НЕ выполняет сортировку номеров версий, но, похоже, Finder.

2 ответа2

11

По умолчанию 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"
1

http://www.islamadel.com/en/notes/6-computer/37-sort-version-number-mac

bash-скрипт для правильной сортировки номеров версий на Mac-терминале

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .