sed中传递变量进行替换
2024-09-03 18:02:19
sed命令中传递变量
例如:修改配置文件某一个变量的值
配置文件如下:
toney@ubantu:/mnt/hgfs/em嵌入式学习记录/shell/shell脚本常见用法$ cat common_usage.log
PRODUCT_TYPE=NGFW_V2_3
PLATFORM=x86_64
NGTOS_VERSION=v2.2.94
NGFW_PATCH_VERSION=v2.2.94
DLP_PKT_VERSION=
VERSION=NGFW_V2_3_2020-04-20
SOURCE_TAG=trunk
REVISION= --------->尝试修改此属性的值
IS_TAG=false
OEM=TOPSEC
AUTOMAKE_USER_NAME=chen_kang
SPECIAL_UPDATE=no
SPECIAL_SOURCE_BRANCH=
SPECIAL_SOURCELIST_FILE=
HAVE_ROOT=true
IS_SM=false
HAVE_ASAN=false
ONLY_HAVE_ASAN=false
IS_BIG_PRODUCE=no
IS_VERSION_INS=no
MIN_REVISION=$version
MAX_REVISION=$version
IS_REBUILD=no
IS_KERNEL_BUILD=no
DAILY_CONFIG_UPDATE=NO
脚本函数如下:
modifyConfig(){
FILE="common_usage.log"
version="linux-4.1.23"
#正常的做法
#以”REVISION=“开始的行全部替换为”REVISION=$version“
sed -i 's/REVISION=.*$/REVISION=$version/' $FILE
}
结果真的是替换为“REVISION=$version”…
可行的办法如下:
只需要将单引号改为双引号
#########################################################################
# File Name: common_usages.sh
# Author: Toney Sun
# mail: vip_13031075266@163.com
# Created Time: 2020年04月20日 星期一 15时03分23秒
#########################################################################
#!/bin/bash
modifyConfig(){
FILE="common_usage.log"
version="linux-4.1.23"
#正常的做法-->不可行
#以”REVISION=“开始的行全部替换为”REVISION=$version“
#sed -i 's/REVISION=.*$/REVISION=$version/' $FILE
#可行办法
sed -i “s/REVISION=.*$/REVISION=$version/” $FILE
}
modifyConfig
结果如下:
PRODUCT_TYPE=NGFW_V2_3
PLATFORM=x86_64
NGTOS_VERSION=v2.2.94
NGFW_PATCH_VERSION=v2.2.94
DLP_PKT_VERSION=
VERSION=NGFW_V2_3_2020-04-20
SOURCE_TAG=trunk
REVISION=linux-4.1.23 -------------------------->Here
IS_TAG=false
OEM=TOPSEC
AUTOMAKE_USER_NAME=chen_kang
SPECIAL_UPDATE=no
SPECIAL_SOURCE_BRANCH=
SPECIAL_SOURCELIST_FILE=
HAVE_ROOT=true
IS_SM=false
HAVE_ASAN=false
ONLY_HAVE_ASAN=false
IS_BIG_PRODUCE=no
IS_VERSION_INS=no
MIN_REVISION=linux-4.1.23
MAX_REVISION=linux-4.1.23
IS_REBUILD=no
IS_KERNEL_BUILD=no
最新文章
- C# - 多线程 之 信号系统
- JS原型的问题Object和Function到底是什么关系
- display转块状化
- bootstrap入门-3.响应式原理
- <;a href=";javascript:void(0)"; onclick=";ff()"; >;<;/a>; 用法解析
- [转]O(n)回文子串算法 Manacher算法
- DOM对象和JQuery对象的区别
- MAC机常用快捷键整理表格
- The Swift Programming Language--语言指南--协议
- 老李分享: Oracle Performance Tuning Overview 翻译下
- C#版 - Leetcode 414. Third Maximum Number题解
- 六.ansible批量管理服务
- spring 5.1.2 mvc RequestMappingHandlerMapping 源码初始化过程
- HDU 6049 17多校2 Sdjpx Is Happy(思维题difficult)
- Reactor/Proactor的比较 (ZZ)
- pytest.2.运行多个文件
- cocos2d-js 3.0 rc2 自定义UI控件组件 例子:能播放动画的MenuItem。MenuItemSprite的bug
- rsyncd.conf
- Windows服务器PHPstudy配置安装微擎教程
- js获取当前项目根路径URL (转自CSDN 红领巾-sunlight)