Angenommen, Sie haben eine Datei notifications.txt
. Wir müssen die Gesamtzahl der Zeilen zählen, um die Reichweite des Zufallsgenerators zu bestimmen:
$ cat notifications.txt | wc -l
Schreiben wir in die Variable:
$ LINES=$(cat notifications.txt | wc -l)
Um nun eine Zahl von 0
bis zu generieren , verwenden $LINE
wir eine RANDOM
Variable.
$ echo $[ $RANDOM % LINES]
Schreiben wir es in die Variable:
$ R_LINE=$(($RANDOM % LINES))
Jetzt müssen wir nur noch diese Zeilennummer drucken:
$ sed -n "${R_LINE}p" notifications.txt
Über RANDOM:
RANDOM Each time this parameter is referenced, a random integer between
0 and 32767 is generated. The sequence of random numbers may be
initialized by assigning a value to RANDOM. If RANDOM is unset,
it loses its special properties, even if it is subsequently
reset.
Stellen Sie sicher, dass Ihre Datei weniger als 32767 Zeilennummern hat. Sehen Sie dies, wenn Sie einen größeren Zufallsgenerator benötigen, der sofort einsatzbereit ist.
Beispiel:
$ od -A n -t d -N 3 /dev/urandom | tr -d ' '