linux - 动态替换字符串的shell脚本

标签 linux bash shell

我正在为 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/

相关文章:

c - 如何从内核模块引用非导出的 Linux 内核函数?

ruby - 可以在不关闭 ruby​​ 文件的情况下取消链接文件吗?

java - 从 Cygwin 设置 CLASSPATH

linux - 如何在 bash 中循环遍历一系列十进制数?

linux - 为什么我的进程计数脚本会出现误报?

c++ - 使用 g++ 与 ACE 库链接时遇到一些问题

java - Bash 在 Java 中无法正确执行

shell - unix 环境中最快的散列?

shell - 假设我的输入文件是表分隔的,我如何使用 AWK 获取类名和可执行时间

python - 检查 *some* 用户是否存在于 Linux 或 Windows 中的可移植方法?