Bash - nahodne vybrani radku ze souboru
Michal Krause
mike na navrcholu.cz
Středa Květen 12 19:36:17 CEST 1999
Dne 12. 5. 1999 Hrdina, Miroslav napsal:
> Poradi prosim nekdo elegantni zpusob, jak z textoveho souboru, co radek, to
> veta, vybrat nahodne jeden z nich a predat dal do roury? Ta pozadovana
> nahodnost me tizi. Zatim mi bylo napovezeno vyuziti rand(), ale v C nejsem
> zdatny.
Kdyz u to mermomoci chcete delat v bashi, tak prosim :)
--------------- cut here
#!/bin/bash
IFS="
"
LC=`wc -l < $1`
LN=$[ RANDOM % LC ];
CNT=0
cat $1 | while read LINE; do
if [ $CNT -eq $LN ]; then
echo $LINE
exit
fi
CNT=$[ CNT + 1 ]
done
--------------- cut here
Spousti se s parametrem "soubor_s_tipy", ktery musi byt ukoncen prazdnym
radkem, protoze wc nepocita pocet radek, ale pocet znaku \n a tim padem by se
nikdy nezobrazi posledni radek. Presmerovat vystup do nejake roury snad uz
nebude problem...
S pozdravem
Michal Krause /\
ICQ: 7665279 Informace (nejenom) ze sveta Linuxu /\/ \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz
There are three kinds of lies: lies, damn lies, and benchmarks.
Jeremy Allison
Další informace o konferenci Linux