В Ubuntu Linux есть отличный инструмент под названием shuf, который работает как head, за исключением того, что он дает вам десять случайных строк. Я не мог найти это на Homebrew. Какой самый простой способ установить его на OS X?
В Ubuntu Linux есть отличный инструмент под названием shuf, который работает как head, за исключением того, что он дает вам десять случайных строк. Я не мог найти это на Homebrew. Какой самый простой способ установить его на OS X?
Ответы:
Вы можете установить coreutils с помощью brew install coreutils
.
shuf
будет связан как gshuf
. Прочитайте предостережения при установке coreutils.
brew install coreutils
g
по умолчанию устанавливает утилиты с префиксом на osx, поэтому вы можете установить его с помощью приведенной выше команды.
Еще одно решение состоит в том, чтобы узнать об инструментах, предоставляемых поставщиком. Конечно , вы могли бы цепь jot
, paste
, sort
, cut
, head
и получить те же результаты.
jot -r "$(wc -l FILE)" 1 |
paste - FILE |
sort -n |
cut -f 2- |
head -n 10
jot
раньше. Спасибо за расширение моих знаний.
Вы можете установить coreutils с Macports как
sudo port install coreutils
Это поместит утилиты ядра GNU в / opt / local / bin с префиксом ag
например gshuf
Другой вариант - установить randomize-lines
(homebrew) пакет, в котором есть rl
команда, аналогичная функциональности 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