Ich habe eine Textdatei von ~ 1 GB mit ungefähr 6.000 Zeilen (jede Zeile ist sehr lang) und ich muss ihre Zeilen zufällig mischen. Ist es möglich? Möglicherweise mit awk?
macos
awk
text-editing
ddmichael
quelle
quelle
brew install coreutils
und verwenden/usr/local/bin/gshuf
.cat myfile | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);'
Ich bin mir sicher, wie schnell es laufen würdePython-Einzeiler:
Liest alle Zeilen von der Standardeingabe, mischt sie an Ort und Stelle und druckt sie dann aus, ohne eine abschließende neue Zeile hinzuzufügen (beachten Sie die
,
vom Ende).quelle
Für OSX wird die Binärdatei aufgerufen
gshuf
.quelle
Wenn Sie wie ich hierher gekommen sind, um nach einer Alternative zu
shuf
macOS zu suchen, dann verwenden Sierandomize-lines
.Installieren Sie das
randomize-lines
(Homebrew-) Paket, das einenrl
Befehl mit ähnlichen Funktionen wie hatshuf
.brew install randomize-lines
quelle
Ich habe vergessen, wo ich das gefunden habe, aber hier ist das
shuffle.pl
, was ich benutze:quelle
Zumindest in Ubuntu gibt es ein Programm namens
shuf
quelle