我有一个包含许多随机种子的输入脚本。我想创建一个bash脚本,不断运行我的脚本,创建新的随机种子,运行脚本等等。我知道随机种子的位置,例如,这是第8行:
create_atoms 1 random 650 923456 t
现在,我想将923456替换为以前声明的变量。我想我应该用之类的东西
sed -i '8s/923456/$Var/' file
但我搞不清楚具体情况。
$ awk -v line=8 -v word=5 -v value="$Var" 'NR==line{$word=value}1' file
要用GNU sed替换第8行中的第5个单词,请使用
sed -E "8s/[^ ]+/$var/5"
对于定位使用
sed -E "8s/([^ ]+ +){4}([^ ]+)/1$var/"
注意,在这两种情况下,$var
都必须没有特殊符号,如/
、和
&
。