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


37

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

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

回答:


49

必要に応じて、OS XのパッケージマネージャーであるHomebrewの上にsortGNUのcoreutilsパッケージを使用してGNUをインストールできます。

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

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

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

brew install coreutils

これによりgsort、GNU sort asがインストールされるためsort、GNU Linuxで使用できます。


または、これらのStack Overflowの質問をご覧ください。いくつかの方法が記載されています。

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

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

行のランダム化(反対|並べ替え)


homebrewオプションは、リンクされたawkまたはperlの構成と同様に機能します(ただし、遅いと思います)。残りはGNUのみであるため、うまくいきません。
-phs

6

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

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

または

ruby -e 'puts STDIN.readlines.shuffle'

0

shufまたはパッケージsortから使用しますが、次の例のように、in ファイルcoreutilsに追加する/usr/local/bin必要があります。PATH~/.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でリストをシャッフルする方法は?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.