如何编写 bash 脚本来生成名为 inputFile 的文件,其中包含逗号分隔值、索引和随机数

如何编写 bash 脚本来生成名为 inputFile 的文件,其中包含逗号分隔值、索引和随机数

有人可以帮助如何编写 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),或者使用-ltthen -le(获取 0-9)。

如果您想在输出中的数字之间使用逗号,请务必在 echo 命令中添加逗号。

您可以使用 10 以外的任何其他数字来获得更多随机数。bash script.sh 10000

顺便说一句,inputFile输出文件的名称很奇怪。

相关内容