sed中传递变量进行替换
发布日期:2021-06-23 04:43:31
浏览次数:6
分类:技术文章
本文共 1824 字,大约阅读时间需要 6 分钟。
sed命令中传递变量
例如:修改配置文件某一个变量的值
配置文件如下:
toney@ubantu:/mnt/hgfs/em嵌入式学习记录/shell/shell脚本常见用法$ cat common_usage.log PRODUCT_TYPE=NGFW_V2_3PLATFORM=x86_64NGTOS_VERSION=v2.2.94NGFW_PATCH_VERSION=v2.2.94DLP_PKT_VERSION=VERSION=NGFW_V2_3_2020-04-20SOURCE_TAG=trunkREVISION= --------->尝试修改此属性的值IS_TAG=falseOEM=TOPSECAUTOMAKE_USER_NAME=chen_kangSPECIAL_UPDATE=noSPECIAL_SOURCE_BRANCH=SPECIAL_SOURCELIST_FILE=HAVE_ROOT=trueIS_SM=falseHAVE_ASAN=falseONLY_HAVE_ASAN=falseIS_BIG_PRODUCE=noIS_VERSION_INS=noMIN_REVISION=$versionMAX_REVISION=$versionIS_REBUILD=noIS_KERNEL_BUILD=noDAILY_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/bashmodifyConfig(){ 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_3PLATFORM=x86_64NGTOS_VERSION=v2.2.94NGFW_PATCH_VERSION=v2.2.94DLP_PKT_VERSION=VERSION=NGFW_V2_3_2020-04-20SOURCE_TAG=trunkREVISION=linux-4.1.23 -------------------------->HereIS_TAG=falseOEM=TOPSECAUTOMAKE_USER_NAME=chen_kangSPECIAL_UPDATE=noSPECIAL_SOURCE_BRANCH=SPECIAL_SOURCELIST_FILE=HAVE_ROOT=trueIS_SM=falseHAVE_ASAN=falseONLY_HAVE_ASAN=falseIS_BIG_PRODUCE=noIS_VERSION_INS=noMIN_REVISION=linux-4.1.23MAX_REVISION=linux-4.1.23IS_REBUILD=noIS_KERNEL_BUILD=no
转载地址:https://blog.csdn.net/s2603898260/article/details/105637408 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月03日 02时42分57秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode MySQL 1077. 项目员工 III
2019-04-28
LeetCode MySQL 1205. 每月交易II(union all)*
2019-04-28
LeetCode MySQL 614. 二级关注者
2019-04-28
LeetCode MySQL 1454. 活跃用户(连续dense_rank排名函数)
2019-04-28
sklearn 机器学习 Pipeline 模板
2019-04-28
LeetCode MySQL 1412. 查找成绩处于中游的学生
2019-04-28
LeetCode MySQL 618. 学生地理信息报告(row_number)
2019-04-28
LeetCode MySQL 1097. 游戏玩法分析 V
2019-04-28
LeetCode MySQL 615. 平均工资:部门与公司比较(over窗口函数)
2019-04-28
LeetCode MySQL 1127. 用户购买平台 *
2019-04-28
LeetCode MySQL 626. 换座位
2019-04-28
LeetCode MySQL 180. 连续出现的数字(cast)
2019-04-28
LeetCode MySQL 178. 分数排名(dense_rank连续排名)
2019-04-28
LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
2019-04-28
LeetCode 1199. 建造街区的最短时间(优先队列贪心)
2019-04-28
NLP项目工作流程
2019-04-28
牛客 数学实验(模拟)
2019-04-28
牛客 奇怪的排序问题(单调栈/遍历)
2019-04-28