sort
Текстовая утилита GNU имеет нестандартную -R
опцию для рандомизации входных строк.
OSX sort
не имеет этого расширения. Есть ли подобная функциональность в другом текстовом фильтре?
Если вы хотите, вы можете установить GNU sort
через пакет coreutils GNU через Homebrew , который является менеджером пакетов для OS X.
Запуск этого установит Homebrew.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Затем просто следуйте инструкциям по установке. Когда Homebrew установлен, запустите
brew install coreutils
Это установит GNU sort как gsort
, так что вы можете использовать его как sort
в любом GNU Linux.
Кроме того, взгляните на эти вопросы переполнения стека, в которых упоминается несколько методов:
Как я могу рандомизировать строки в файле, используя стандартные инструменты в Redhat Linux
Как я могу перетасовать строки текстового файла в командной строке Unix?
Или взгляните на эту страницу commandlinefu.com:
В OS X, если вы не хотите устанавливать homebrew (но вам действительно нужно), вы можете использовать
perl
илиruby
:или
источник
Использование
shuf
илиsort
изcoreutils
пакета, но тогда вы , чтобы добавить/usr/local/bin
в свойPATH
в~/.bashrc
файле, например:В качестве альтернативы вы можете попробовать
ex
:Источник: Как перемешать список в vim?
источник
Вы можете установить
rl
команду через homebrew (brew install randomize-lines
).Он достаточно быстрый и имеет возможность ограничить количество возвращаемых элементов, а также указать разделитель (например, пробел вместо перевода строки).
(См. Также https://stackoverflow.com/a/42056195/43615 .)
источник