Отправляет email-рассылки с помощью сервиса Sendsay

Re: Random string

В сообщении от 26 Декабрь 2004 22:06 Konstantin Korikov
написал(a):

#!/bin/sh
RANDOM=$$
maxline=`cat ./file|wc -l`
echo $maxline
rnumber=$((RANDOM%$maxline+0))
echo $rnumber
http://cards.alkar.net/

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 14632; Возраст листа: 520; Участников: 1291
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/287371



-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 27 Dec 2004 11:06:36 +0200 (#287371)

 

Ответы:

27 Декабрь 2004 12:06, Alexandr написал:

Это опять не будет работать для длинных файлов. Кроме того, строки могут быть

разпределены неравномерно. Лучше уж отнормировать на максимальное значение
$RANDOM -- вроде echo $((RANDOM * maxline/32535))
(это если это максимальное значение равно 32535). А чему оно, кстати, равно?

Ответить   Vladimir Efremov Mon, 27 Dec 2004 17:14:42 +0300 (#287508)

 

В сообщении от 1104160482 секунд после начала Эпохи Unix Вы написали:

Возможно целочисленное переполнение (вроде так оно называется).
Если RANDOM * maxline > 2^(sizeof(int)*8).

В bash(1) сказано что RANDOM принимает значения от 0 до 32767.

Ответить   Konstantin Korikov Mon, 27 Dec 2004 23:10:59 +0200 (#287754)