sed - 带变量的 Sed
问题描述
我有一个这种格式的配置文件
http://link:port/username/password/1234
我使用此代码将 Username1/Password1 替换为不同的 Username2/Password2
sed -i -e 's/\/Username1\/Password1/\/Username2\/Password2/g' /etc/config.cfg
现在我想让这个像
$UsernameOLD = Username1
$PasswordOLD = Password1
$UsernameNEW = Username2
$PasswordNEW = Password2
sed -i -e 's/\/$UsernameOLD\/$PasswordOLD/\/$UsernameNEW\/$PasswordNEW/g' /etc/config.cfg
谁能帮我准备好这个?
解决方案
我找到了我必须使用双引号而不是 ' 的解决方案
工作命令如下所示:
UsernameOLD=MyOldUsername
PasswordOLD=MyOldPassword
UsernameNEW=MyNewUsername
PasswordNEW=MyOldUsername
sed -i -e "s/\/$UsernameOLD\/$PasswordOLD/\/$UsernameNEW\/$PasswordNEW/" /etc/config.cfg
推荐阅读
- java - Java 线程安全性分析编译时
- javascript - 如何仅使用 context.save/context.restore、if 语句、画布和动画制作井字游戏?
- javascript - JS:从多个输入的值创建逗号分隔值
- laravel - 尝试获取单个数据并显示在 vue 组件中,但没有显示任何内容
- terraform - 如何使用 terraform 从 VPC 获取子网列表
- reactjs - 检索表单输入并在字符串中使用它
- sql - 查询 SQL 查询表中分组 COUNT 的 SUM
- java - 错误:找不到符号 - 在 IntelliJ IDEA 的现有 gradle 项目中添加和导入新类时
- python - 使用 Scikit-learn KernelPCA 以退出代码 -1073740940 (0xc0000374) 完成进程
- python-3.x - 混淆矩阵来获得精确度、召回率、f1score