Se você quiser apenas comparar o número, precisará olhar positivo para trás e olhar para frente . sed
não suporta isso, mas perl
faz.
perl -pi -e "s/(?<=\(random<=).*(?=\))/$i/g" myfile
Para explicar:
(?<= positive lookbehind
\(random<= match a literal (random<=
)
.* match any character, multiple times
(?= positive lookeahead
\) match a literal )
)
As correspondências lookbehind e lookahead não são usadas, portanto, você pode substituir por $i
.