Ubuntu Linux hat ein großartiges Tool namens shuf, das wie head funktioniert, nur dass es zehn zufällige Zeilen enthält. Ich konnte es nicht auf Homebrew finden. Was ist die einfachste Möglichkeit, es unter OS X zu installieren?
Ubuntu Linux hat ein großartiges Tool namens shuf, das wie head funktioniert, nur dass es zehn zufällige Zeilen enthält. Ich konnte es nicht auf Homebrew finden. Was ist die einfachste Möglichkeit, es unter OS X zu installieren?
Antworten:
Sie können coreutils mit installieren brew install coreutils
.
shuf
wird verlinkt als gshuf
. Lesen Sie die Vorsichtsmaßnahmen, wenn Sie coreutils installieren.
brew install coreutils
installiert die utils g
standardmäßig mit dem präfix auf osx, so dass sie mit dem obigen befehl installiert werden können.
Eine weitere Lösung besteht darin, sich über die vom Anbieter gelieferten Tools zu informieren. Sicherlich könnte man Kette jot
, paste
, sort
, cut
, head
und erhält die gleichen Ergebnisse.
jot -r "$(wc -l FILE)" 1 |
paste - FILE |
sort -n |
cut -f 2- |
head -n 10
jot
. Vielen Dank für die Erweiterung meines Wissens.
Sie können coreutils mit Macports als installieren
sudo port install coreutils
Dadurch werden GNU-Kern-Utils mit vorangestelltem ag in / opt / local / bin abgelegt
z.B gshuf
Eine andere Option ist die Installation eines randomize-lines
(Homebrew-) Pakets mit einem rl
Befehl, der eine ähnliche Funktionalität wie shuf hat.
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