所以我要做的就是:我一直在使用keybr.com来提高我的打字技巧,在这个网站上你可以“提供你自己的自定义文本”。现在我一直在用书中的章节来打字,所以它比仅仅输入一组字母更有趣。现在我想在文本中插入数字。具体来说,每个单词之间都有类似“393”的东西,随机集合比这个例子更小和更大。
所以我将一本书的章节保存到我的主文件夹中的文件中。现在我只需要一个命令来搜索空格并输入一组数字并添加一个空格,这样一句话就像这样:293狗328是102黑色。 334 ......等等。
我通过搜索引擎查找了linux命令,我发现如何用以下文件替换文本文件中的字符串:
sed -i's / original / new / g'file.txt
以及如何使用以下方法生成随机数:
$ shuf -i MIN-MAX -n COUNT
我无法弄清楚如何输出在每个单词之间有随机数的一行命令。我仍在搜索,所以感谢任何花时间阅读我的问题的人。
答案 0 :(得分:2)
Perl救援!
perl -pe 's/ /" " . (100 + int rand 900) . " "/ge' < input.txt > output.txt
-p
逐行读取输入,读取一行后,它运行代码并将行打印到输出s///
与您在sed /g
表示全局,即它尽可能多地替换/e
表示替换部分是要运行的代码。在这种情况下,代码生成一个随机数(100-999)。答案 1 :(得分:0)
假设:
$ echo "$txt"
Here is some random words. Please
insert a number a space between each one.
这是一个简单的awk
:
$ echo "$txt" | awk '{for (i=1;i<=NF;i++) printf "%s %d ", $i, rand()*100; print ""}'
Here 92 is 59 some 30 random 57 words. 74 Please 78
insert 43 a 33 number 77 a 10 space 78 between 83 each 76 one. 49
纯粹的Bash中的情况大致相同:
while read -r line; do
for word in $line; do
printf "%s %s" "$word $((1+$RANDOM % 100))"
done
echo
done < <(echo "$txt")