Narzędzie sort
tekstowe GNU zawiera niestandardową -R
opcję losowego wprowadzania wierszy.
OSX sort
nie ma tego rozszerzenia. Czy dostępna jest podobna funkcjonalność w innym filtrze tekstowym?
Jeśli chcesz, możesz zainstalować GNU sort
poprzez pakiet coreutils GNU przez Homebrew , który jest menedżerem pakietów dla OS X.
Uruchomienie tego spowoduje zainstalowanie Homebrew.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Następnie postępuj zgodnie z instrukcjami instalacji. Po zainstalowaniu Homebrew uruchom
brew install coreutils
Spowoduje to zainstalowanie GNU sort as gsort
, dzięki czemu będziesz mógł używać go jak sort
na dowolnym systemie GNU Linux.
Alternatywnie, spójrz na te pytania dotyczące przepełnienia stosu, które wspominają kilka metod:
Jak mogę randomizować linie w pliku za pomocą standardowych narzędzi w systemie Redhat Linux
Jak mogę przetasować linie pliku tekstowego w linii poleceń Uniksa?
Lub spójrz na tę stronę commandlinefu.com:
W systemie OS X, jeśli nie chcesz instalować homebrew (ale naprawdę powinieneś), możesz użyć
perl
lubruby
:lub
źródło
Użycie
shuf
lubsort
zcoreutils
pakietu, ale potem masz, aby dodać/usr/local/bin
do swojejPATH
w~/.bashrc
pliku, na przykład:Alternatywnie możesz spróbować
ex
:Źródło: Jak przetasować listę w vimie?
źródło
Możesz zainstalować
rl
polecenie za pomocą homebrew (brew install randomize-lines
).Jest dość szybki i ma opcje ograniczania liczby zwracanych elementów, a także określania separatora (na przykład spacja zamiast przesunięcia wiersza).
(Zobacz także https://stackoverflow.com/a/42056195/43615 .)
źródło