我正在为 linux 编写一个 shell 脚本,它将参数作为端口号。 内部文件中有一行需要更新:
define('NO_OF_PORTS',10);
我需要用传递的参数替换那个 10。 但这应该是动态的,就像下次我通过新端口时一样,不,它必须更新。
最佳答案
使用 sed:
s="define('NO_OF_PORTS',10);"
n=25
sed "s/\('NO_OF_PORTS',\)[0-9]*/\1$n/" <<< "$s"
define('NO_OF_PORTS',25);
要在文件中更改内联,请使用:
sed -i.bak "s/\('NO_OF_PORTS',\)[0-9]*/\1$n/" file
关于linux - 动态替换字符串的shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21181667/