Mam plik tekstowy o wielkości ~ 1 GB z około 6 tys. Wierszy (każdy wiersz jest bardzo długi) i muszę losowo tasować jego wiersze. Czy to możliwe? Być może z awk?
macos
awk
text-editing
ddmichael
źródło
źródło
brew install coreutils
i użyj/usr/local/bin/gshuf
.cat myfile | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);'
Jestem jednak pewien, jak szybko by to działałoPython one-liner:
Odczytuje wszystkie wiersze ze standardowego wejścia, tasuje je w miejscu, a następnie drukuje bez dodawania końcowej nowej linii (zwróć uwagę
,
na koniec).źródło
W OSX nazywa się plik binarny
gshuf
.źródło
Jeśli tak jak ja, przyszedłeś tu poszukać alternatywy
shuf
dla MacOS, a następnie użyjrandomize-lines
.Zainstaluj
randomize-lines
pakiet (homebrew), który marl
polecenie o podobnej funkcjonalnościshuf
.brew install randomize-lines
źródło
Zapomniałem, gdzie to znalazłem, ale oto
shuffle.pl
, czego używam:źródło
Przynajmniej w Ubuntu istnieje program o nazwie
shuf
źródło