macos – OSX の gnu `sort -R` に相当するか?

macos sorting

GNU sortテキスト・ユーティリティは、入力行をランダムにするための非標準の-Rオプションを備えています

OSX sort にはこの拡張機能はありません。他のテキストフィルタにも同様の機能があるのでしょうか?

  39  None  2011-09-11


ベストアンサー

必要であれば、GNU の coreutils パッケージを介して、OS X のパッケージマネージャである Homebrew に GNU sort をインストールすることができます

これを実行するとHomebrewがインストールされます

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

あとはインストールの指示に従うだけです。Homebrewがインストールされたら、実行します

brew install coreutils

これはGNUソートをgsortとしてインストールするので、どんなGNU Linuxでもsortのように使うことができます


あるいは、いくつかの方法について言及しているStack Overflowの問題を見てみましょう

Redhat Linux の標準ツールを使ってファイルの行をランダムにするには Unix のコマンドラインでテキストファイルの行をシャッフルするには?

または、このcommandlinefu.comのページを見てみてください

行の乱数化(ソートの反対)

52  slhck  2011-09-11


OS X では、もしあなたが homebrew をインストールしたくない(でも本当にインストールしたい)のであれば、perlruby を使うことができます

perl -MList::Util -e 'print List::Util::shuffle <>'

or

ruby -e 'puts STDIN.readlines.shuffle'

8  mivk  2015-05-17


shufcoreutilsパッケージのshufsortを使いますが、例えば~/.bashrcファイルのPATH/usr/local/binを追加しなければなりません

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

あるいは、exを試すこともできます

ex -s +"%s/^/\=reltimestr(reltime())[-2:].' '" +"sort n" +"%s/^\S* //" +%p -cq! /dev/stdin

ソース。How to shuffle a list in vim?

0  kenorb  2015-05-17


rl コマンドを homebrew (brew install randomize-lines) 経由でインストールすることができます

これは非常に高速で、返される項目の数を制限したり、区切り文字を指定したりするオプションがあります (例えば、改行ではなくスペースを指定するなど)

(https://stackoverflow.com/a/42056195/43615も参照)

0  SuperTempel  2017-07-26


タイトルとURLをコピーしました