GNU sort
テキストユーティリティは、非標準の-R
入力行をランダム化するオプション。
OSX sort
にはこの拡張子はありません。別のテキストフィルターで使用できる同様の機能はありますか?
必要に応じて、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ページをご覧ください。
OS Xで、homebrewをインストールしたくない場合(ただし、本当にそうする必要がある場合)は、Perl
またはRuby
を使用できます。
Perl -MList::Util -e 'print List::Util::shuffle <>'
または
Ruby -e 'puts STDIN.readlines.shuffle'
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でリストをシャッフルする方法?
rl
コマンドは、homebrew(brew install randomize-lines
)。
これは非常に高速で、返されるアイテムの数を制限したり、区切り文字(たとえば、ラインフィードではなくスペース)を指定するオプションがあります。