Archiv verlassen und diese Seite im Standarddesign anzeigen : "zufälligen" grep aus ner textdatei
hallo zusammen,
ich habe ein textfile mit "sprüchen des tages". nun möchte ich im prinzip haben , das er mir irgendwie aus dieser datei einen zufällig rausholt. so in richtung:
cat blabla | grep -random
zumindest in der art :)
wie realisier ich sowas am einfachsten ? wenn möglich über die bash.
vielen dank und viele grüsse
timon
TEST=`cat blabla`
# Zufallszahl ;)
Z=(($RANDOM%7))
X=(($RANDOM%9))
ZU=$Z$X
n=0
for i in $TEST;do
n=$(( $n + 1 ));
if (( $n == $ZU ));then
echo $i;
fi;
done
Mit der Zufallszahl musst du einfach probieren, jedenfalls ist $RANDOM eine integer Zufalls-Zahl.
T;o)Mes
hi tomes,
vielen dank für deinen code. google grad um ihn zu verstehen :)
gibt noch ein prob:
./testc: line 9: ((: 8559 == : syntax error: operand expected (error token is " ")
ist dann diese zeile: if (( $n == $ZU ));then
werd ich weiterbasteln, danke für diene anregung.
timon
Hi timon,
Deine Variable $ZU scheint keinen Wert zu haben. Füge zu Beginn des Skriptes
set -xein. Dadurch werden die Befehlszeilen nach Variablenexpansion auf dem Bildschirm ausgegeben und Du siehst was tatsächlich ausgeführt wird.
TEST=`cat blabla`
# Zufallszahl
Z=(($RANDOM%7))
X=(($RANDOM%9))
ZU=$Z$X
Der Ansatz ist soweit Ok, zuerst wird in die Variable Test alles eingelesen, was in der Datei blah blah steht.
Dann werden 2 integere Zufallszahlen erzeugt und zu einer zufallszahl. damit hast du dann eine zufallszahl von 0-99 ... glaub ich.
Im naechsten schritt wird alles in $TEST durchgezaelt und das was an der stelle von der zweistelligen zufallszahl steht, ausgegeben. Allerdings wird dort, nun nur ein Wort anstatt einer Zeile ausgegeben ;)
Daher:
#!/bin/sh
Z=(($RANDOM%7))
X=(($RANDOM%9))
ZU=$Z$X
head -n $ZU dateimitspruechen | tail -n 1
"head -n $ZU" druckt aus deiner Datei die ersten $ZU zeilen aus und "tail -n 1" nimmt davon die letzte.
gruss,
pitu
@ pitu vielen dank für die erklärung und die änderung, funzt :)
timon
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.