OSX 上の gnu `sort -R` と同等ですか?

OSX 上の gnu `sort -R` と同等ですか?

GNUテキスト ユーティリティには、入力行をランダム化するsort非標準オプションが備わっています。-R

OSXsortにはこの拡張機能がありません。別のテキスト フィルターで同様の機能を使用できますか?

答え1

ご希望の場合は、sortGNUのコアユーティリティパッケージ終了自家製これは OS X 用のパッケージ マネージャーです。

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

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

その後はインストール手順に従ってください。Homebrewがインストールされたら、

brew install coreutils

これにより、GNU sort が としてインストールされ、他の GNU Linux とgsort同様に使用できるようになります。sort


あるいは、いくつかの方法について言及している次の Stack Overflow の質問を参照してください。

Redhat Linuxの標準ツールを使用してファイル内の行をランダム化するにはどうすればよいですか
Unix コマンドラインでテキスト ファイルの行をシャッフルするにはどうすればよいですか?

または、commandlinefu.com の次のページをご覧ください。

行をランダム化する (| ソートの反対)

答え2

OS X では、homebrew をインストールしたくない場合は (ただし、インストールする必要があります)、perlまたは を使用できますruby

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

または

ruby -e 'puts STDIN.readlines.shuffle'

答え3

パッケージからshufまたはを使用しますが、その後、次のようにinファイルに追加する必要があります。sortcoreutils/usr/local/binPATH~/.bashrc

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

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

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

ソース:vim でリストをシャッフルするにはどうすればいいですか?

答え4

rlhomebrew ( ) 経由でコマンドをインストールできますbrew install randomize-lines

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

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

関連情報