在每次迭代中用随机值替换文本文件中的数字

在每次迭代中用随机值替换文本文件中的数字

我有一个包含以下内容的文本文件:

number of apples  7

我想运行 shell 脚本并使用随机值修改数字,例如 5 次迭代。所以我需要我的输出如下所示:

number of apples  7
number of apples  8
number of apples  1
number of apples  5
number of apples  4

我尝试使用 sed 命令:

sed -i 's/Number of apples  7/Number of apples  '$((1 + RANDOM % 9))'/g' fruits.txt

在迭代2中,如何自动检测新的数字并修改它?

答案1

范围的正则表达式是方括号和连字符。因此[1-9]将匹配从 1 到 9 的任何数字。

sed代码将更改如下:

's/Number of apples  [1-9]/Number of apples  '$((1 + RANDOM % 9))'/g'

相关内容