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.
shufzostanie powiązany jako gshuf. Przeczytaj ostrzeżenia podczas instalacji coreutils.
brew install coreutilsinstaluje utils z prefiksem gdomyś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, headi 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-linespakietu (homebrew), który ma rlpolecenie 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