Ubuntu Linux ma świetne narzędzie o nazwie shuf, które działa jak head, tyle że daje dziesięć losowych linii. Nie mogłem tego znaleźć na Homebrew. Jaki jest najprostszy sposób zainstalowania go w systemie OS X?
Ubuntu Linux ma świetne narzędzie o nazwie shuf, które działa jak head, tyle że daje dziesięć losowych linii. Nie mogłem tego znaleźć na Homebrew. Jaki jest najprostszy sposób zainstalowania go w systemie OS X?
Odpowiedzi:
Możesz zainstalować coreutils za pomocą brew install coreutils
.
shuf
zostanie powiązany jako gshuf
. Przeczytaj ostrzeżenia podczas instalacji coreutils.
brew install coreutils
instaluje utils z prefiksem g
domyślnie na osx, dzięki czemu można go zainstalować za pomocą powyższej komendy.
Jeszcze innym rozwiązaniem jest poznanie narzędzi dostarczonych przez dostawcę. Na pewno mógł łańcuch jot
, paste
, sort
, cut
, head
i uzyskać takie same wyniki.
jot -r "$(wc -l FILE)" 1 |
paste - FILE |
sort -n |
cut -f 2- |
head -n 10
jot
. Dzięki za poszerzenie mojej wiedzy.
Możesz zainstalować coreutils z Macports as
sudo port install coreutils
Spowoduje to umieszczenie podstawowych narzędzi GNU w / opt / local / bin z dodanym ag
na przykład gshuf
Inną opcją jest instalacja randomize-lines
pakietu (homebrew), który ma rl
polecenie o podobnej funkcjonalności do shuf.
Usage: rl [OPTION]... [FILE]...
Randomize the lines of a file (or stdin).
-c, --count=N select N lines from the file
-r, --reselect lines may be selected multiple times
-o, --output=FILE
send output to file
-d, --delimiter=DELIM
specify line delimiter (one character)
-0, --null set line delimiter to null character
(useful with find -print0)
-n, --line-number
print line number with output lines
-q, --quiet, --silent
do not output any errors or warnings
-h, --help display this help and exit
-V, --version output version information and exit