比较简单的替换配置文件的shell脚本
作为测试,日常更新部署测试版本,修改配置文件是每天必不可少的一个工作。特别是如果需要更改的配置文件存在于多个文件里,更是繁琐不堪。
找了一下Linux shell脚本里有个sed 命令可以实现这个需求
$OldStr是要被替换的字符串
$NewStr是替换的新字符串
SfileName是修改的文件
sed -i "s/$OldStr/$NewStr/g" $fileName
Note:s/和/g是固定格式
例子:
sed -i "s/10.203.105.42:5672/10.203.105.59:5672/g" config/configuration.properties
这个例子是说把config下的configuration.properties文件中所有10.203.105.42:5672替换成10.203.105.59:5672.
Note:如果文件里有多行相同的字段,但是只有某些行需要替换,其他不需要替换。就可以更精确一点,再加个行号
如:
sed -i "s/10.203.105.42:5672/10.203.105.59:5672/g" config/configuration.properties
如果需要替换特殊的字符:路径替换
https://blog.csdn.net/sch0120/article/details/80323904
这个就是把config下的configuration.properties文件中第4行的10.203.105.42:5672替换成10.203.105.59:5672。其余行如果还有10.203.105.42:5672,则不替换。
比较简单的替换配置文件的shell脚本的更多相关文章
- linux系统配置文件或shell脚本批量注释
1. 配置文件批量注释 1.1 批量注释 ① 进入命令行模式,按ctrl + v进入 visual block模式,键盘上下箭头选中多行,把需要注释的行标记起来 ② 按大写字母I,再输入注释符:# ③ ...
- 实现简单sed替换功能的python脚本
#可以用来修改配置文件参数 # -*- coding:utf-8 -*- import os,sys old = sys.argv[1] new = sys.argv[2] file = sys.ar ...
- 【Shell脚本学习9】Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value ...
- Shell 脚本编程基础
通过本文记录学习Linux Shell的一些笔记思考和总结,以加强记忆和理解.主要学习参考资料有: 1.<鸟哥的Linux私房菜-基础篇>第四版 2.菜鸟教程——Linux教程 3.ear ...
- 【Shell脚本编程系列】知识储备以及建立规范的脚本
前言 学习shell脚本编程需要的知识储备: vi/vim编辑器命令 vimrc设置要熟练 基础命令,100多个要熟练 基础和常用的网络服务命令要会:nfs . rsync. inotify . la ...
- shell脚本学习之6小时搞定(1)
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...
- 通过Shell脚本读取properties文件中的参数时遇到\r换行符的问题
今天在编写微服务程序启动脚本的时候,遇到一个比较奇葩的问题,下面给出具体描述: 目标:通过读取maven插件打包时生成的pom.properties文件,获取里面的应用名称和应用版本号,然后拼接得到s ...
- 一起来学习Shell脚本
Shell脚本 Shell脚本(shell script),是一种为shell编写的脚本程序. 大家所说的shell通常都是指的shell脚本,但其实shell与shell脚本是两个不同的概念.由于习 ...
- Shell脚本学习指南 [ 第一、二章 ] 背景知识、入门
摘要:第一章介绍unix系统的发展史及软件工具的设计原则.第二章介绍编译语言与脚本语言的区别以及两个相当简单但很实用的Shell脚本程序,涵盖范围包括了命令.选项.参数.Shell变量.echo与pr ...
随机推荐
- kendo grid 报错:length
其实是:events中的{}Onsave的问题,把events整个注释掉就好了
- AI小记-K近邻算法
K近邻算法和其他机器学习模型比,有个特点:即非参数化的局部模型. 其他机器学习模型一般都是基于训练数据,得出一般性知识,这些知识的表现是一个全局性模型的结构和参数.模型你和好了后,不再依赖训练数据,直 ...
- 1048 石子归并codevs
1048 石子归并codevs 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1 ...
- SQL Server memory – Internals
https://blogs.msdn.microsoft.com/karthick_pk/2013/03/16/sql-server-memory-internals/
- gh-ost: triggerless online schema migrations:Blog by Shlomi Noach:
http://code.openark.org/blog/category/mysql https://rj03hou.github.io/mysql/gh-ost/
- Animations动画和Keyframes关键帧
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用SQL Profile及SQL Tuning Advisor固定运行计划
SQL Profile就是为某一SQL语句提供除了系统统计信息.对象(表和索引等)统计信息之外的其它信息,比方执行环境.额外的更准确的统计信息,以帮助优化器为SQL语句选择更适合的执行计划. SQL ...
- Win7 系统管理员设置了系统策略_禁止进行此安装_怎么办
系统管理员设置了系统策略,禁止进行此安装,怎么办 最佳答案 尝试方法一: windows开始菜单,运行里面输入gpedit.msc打开组策略, 在"计算机配置"→管理模板→ ...
- jqury+css实现可弹出伸缩层
1.使用可弹出伸缩窗调整了之前的页面布局,使用这样的布局使整个界面看起来更加清爽也更简洁 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L ...
- 性能测试实战-XYB项目-外网访问
压测业务选择 跟产品.开发负责人评估系统中需要压测的重要业务接口 考虑到考勤业务是每天老师都需要做的且可多次考勤,列入压测重要业务中 值日检查也是每天老师都需要操作的业务,最终选择了考勤业务及值日检查 ...