首页 > 解决方案 > Bash - 如何替换文件中第 m 行的第 n 个字符串?

问题描述

我有一个包含许多随机种子的输入脚本。我想创建一个 bash 脚本,它不断运行我的脚本、创建新的随机种子、运行脚本等。我知道随机种子的位置,例如这是第 8 行:

create_atoms 1 random 650 923456 t

现在我想将 923456 替换为我之前声明的变量。我想我应该使用类似的东西

sed -i '8s/923456/$Var/' file

但我无法弄清楚具体情况。

标签: bashsed

解决方案


$ awk -v line=8 -v word=5 -v value="$Var" 'NR==line{$word=value}1' file

推荐阅读