linux - 使用 sed 替换文件中的变量文字值
问题描述
我需要替换文件中的文字变量值,我正在尝试使用 SED,但它似乎不起作用。下面是我正在使用的命令,但是当我检查文件时,值没有改变。
sed -i .bak "s|isJBossRunning \\\${home}|isJBossRunning \\\${home_dir}|g" /file/location/file.sh
这是我正在尝试做的一个例子。在我的 file.sh 文件中。
home='/opt/tmp'
home_dir='/usr/share/jbossas'
JBOSS_USER=jbossas
SERVER_NAME=abxd
echo isJBossRunning ${JBOSS_USER} ${home} ${SERVER_NAME}
所以我想做的是替换字符串isJBossRunning ${JBOSS_USER} ${home} ${SERVER_NAME}
,所以我${home}
用${home_dir}
.
解决方案
我想出了一种更新文件的方法。下面是我使用的命令,我只是替换了整个文件中的文字变量。
sed -i "s/\${home}/\${home_dir}/" ./file.sh
推荐阅读
- python - numpy 选择具有特定移动窗口的成员
- group-by - F# Linq Sql 查询中的运行时类型错误,多列分组
- excel - 根据另一个单元格的值更改excel单元格的公式
- python - Django - 如何在多个页面中访问 python 全局变量?
- mongodb - 我应该在这里使用复合索引吗?
- azure - 如何通过 Postman 获取我的架构(来自 Azure 架构注册表)?
- r - mcp2a 在 x[[j]] 中给出错误:尝试在 integerOneIndex 中选择少于一个元素
- java - Java:如何让监听器从 Java 表中获取特定数据?
- java - 间隔为 8 小时的 Postgres 数据
- python - 如何在 tf2 中获取中间层结果?