Äquivalent zu gnu „sort -R“ unter OSX?

Äquivalent zu gnu „sort -R“ unter OSX?

Das GNU- sortTextdienstprogramm verfügt über eine nicht standardmäßige -ROption zum Zufallsprinzip der Eingabezeilen.

OSX sorthat diese Erweiterung nicht. Gibt es eine ähnliche Funktion in einem anderen Textfilter?

Antwort1

Wenn Sie möchten, können Sie GNU sortüber GNUs installieren.Kernel-DienstprogrammePaket überSelbstgebrautes, ein Paketmanager für OS X.

Durch die Ausführung wird Homebrew installiert.

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

Folgen Sie dann einfach den Installationsanweisungen. Wenn Homebrew installiert ist, führen Sie aus

brew install coreutils

Dadurch wird GNU sort als installiert , sodass Sie es wie auf jedem GNU Linux gsortverwenden können .sort


Alternativ können Sie sich diese Stack Overflow-Fragen ansehen, in denen einige Methoden erwähnt werden:

Wie kann ich mit Standardtools unter Redhat Linux die Zeilen in einer Datei zufällig anordnen?
Wie kann ich die Zeilen einer Textdatei in der Unix-Befehlszeile umordnen?

Oder schauen Sie sich diese Seite von commandlinefu.com an:

Zeilen zufällig anordnen (Gegenteil von | sort)

Antwort2

Wenn Sie unter OS X Homebrew nicht installieren möchten (was Sie aber wirklich sollten), können Sie perlFolgendes verwenden ruby:

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

oder

ruby -e 'puts STDIN.readlines.shuffle'

Antwort3

Verwenden Sie shufoder sortaus coreutilsdem Paket, aber dann müssen Sie beispielsweise Folgendes /usr/local/binzu Ihrer PATHIn- Datei hinzufügen:~/.bashrc

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

Alternativ können Sie Folgendes versuchen ex:

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

Quelle:Wie mische ich eine Liste in Vim?

Antwort4

Sie könnten den rlBefehl über homebrew ( brew install randomize-lines) installieren.

Es ist recht schnell und bietet Optionen zum Begrenzen der Anzahl zurückgegebener Elemente sowie zum Festlegen des Trennzeichens (z. B. Leerzeichen statt Zeilenvorschub).

(Siehe auchhttps://stackoverflow.com/a/42056195/43615.)

verwandte Informationen