有人可以帮助如何编写 bash 脚本来生成一个名为inputFile
其内容如下的文件:
0, 334
1, 933
2, 34123
3, 123
这些是带有索引和随机数的逗号分隔值。
-> 运行不带任何参数的脚本,应该inputFile
在当前目录中生成包含 10 个此类条目的文件。
-> 您应该能够扩展此脚本以生成任意数量的条目,例如 100000 个条目。
我尝试了下面的脚本,但它不符合预期,有人可以帮我解决这个问题吗?
RANDOM=$$
num=0
while [[ ${num} -le $1 ]]
do
echo $num $RANDOM
(( num = num +1 ))
done
答案1
你离我们并不遥远。
我可能会设置一个变量,比如count
第一个命令行参数 ( $1
),然后检查它是否为空,在这种情况下您可以将其设置为 10。
#!/usr/bin/env bash
RANDOM=$$
count="$1"
[[ -z "$count" ]] && count=10
num=0
while [[ ${num} -le ${count} ]]
do
echo $num, $RANDOM
(( num = num +1 ))
done > inputFile
从技术上讲,这将为您提供 11 个随机数,而不是 10,因为它以 0 开头并以 10 结尾。要更改这一点,可以num
从 1 开始(获取 1-10),或者使用-lt
then -le
(获取 0-9)。
如果您想在输出中的数字之间使用逗号,请务必在 echo 命令中添加逗号。
您可以使用 10 以外的任何其他数字来获得更多随机数。bash script.sh 10000
。
顺便说一句,inputFile
输出文件的名称很奇怪。