web-dev-qa-db-ja.com

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

GNU sortテキストユーティリティは、非標準の-R入力行をランダム化するオプション。

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

38
phs

必要に応じて、GNUの coreutils パッケージを介してGNU sortを介して Homebrew を介してインストールできます。これは、 OSX。

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

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

次に、インストール手順に従います。 Homebrewがインストールされたら、実行します

brew install coreutils

これはGNU gsortとしてソートするため、任意のGNU Linuxでsortのように使用できます。


あるいは、いくつかのメソッドについて言及しているこれらのスタックオーバーフローの質問をご覧ください。

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

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

行をランダム化((|の反対))

50
slhck

OS Xで、homebrewをインストールしたくない場合(ただし、本当にそうする必要がある場合)は、PerlまたはRubyを使用できます。

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

または

Ruby -e 'puts STDIN.readlines.shuffle'
7
mivk

shufパッケージのsortまたはcoreutilsを使用しますが、/usr/local/bin~/.bashrcファイルのPATHに追加する必要があります、 例えば:

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でリストをシャッフルする方法?

0
kenorb

rlコマンドは、homebrew(brew install randomize-lines)。

これは非常に高速で、返されるアイテムの数を制限したり、区切り文字(たとえば、ラインフィードではなくスペース)を指定するオプションがあります。

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

0
SuperTempel