【发布时间】:2014-05-29 14:06:12
【问题描述】:
我正在编写一个脚本,我需要特定数量的唯一数字(这个数量由单词列表给出),每个数字有 5 位不变。
我的第一次尝试是:
test=`cat amount.log`
for i in $test
do
echo $i $((RANDOM%10000+20000)) > random_numbers.log
done
这个脚本的输出正是我正在寻找的那个:
word1 25439
word2 26134
word3 21741
但我不相信 $random 变量会给我一个唯一的列表,我没有写过不止一次的数字。
可以肯定的是,这些数字是唯一的,我的第一次尝试是使用sort -u 来删除重复的条目,但这意味着我的数字可能比列表中的单词少,或者我需要运行的一些单词再次执行该脚本,为其获取一个唯一编号。
我会很感激任何建议,它需要在 unix/aix ksh shell 中完成。
【问题讨论】: