linux shell 脚本获取和替换文件中特定内容
1.从一串字符串中获取特定的信息
要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息)
timeout
default title live
find --set-root /casper/vmlinuz
kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3
initrd /casper/initrd.lz
menu.lst
要求2:修改(替换)原文件中特定内容:CenterServer.conf为SCC可执行程序的配置文件,需要将配置文件中的domain值改为本机IP。
#CenterServer config file # Logging Type: syslog|cerr|cout|file
LoggingType = cout # Logging level: NONE|CRIT|ERR|WARNING|INFO|DEBUG|STACK
LogLevel = DEBUG
#LogLevel = INFO #sip listen port
UDPPort =
#SCC domain ip
Domain = 10.0.73.14
CallTimeout = #RDS client working thread num (--)
RDSClientThreadNum =
#RDS Client Log on|off
RDSClientLog = off #Daemon process yes|no, default=yes
IsDaemon = no #Web server addr
WebServerUrl = http://localhost:9000 #SCC state Database
DataBase = scc
MySqlUserName = root
MySqlUserPasswd =jonet@ MsIp = 127.0.0.1
MsPort =
CenterServer.conf
实现脚本:
#!/bin/sh
MENULST="/JONET_boot/menu.lst"
SCC_PATH="/JONET/bin/SCC/CenterServer.config"
LOCALIP="`awk -F ',' '{print $2}' $MENULST |grep .`";
echo $LOCALIP modify_scc()
{
DOMAIN="`cat $SCC_PATH|grep Domain`"
echo $DOMAIN
echo $LOCALIP
#sed -e 's/Domain = 10.0.66.66/Domain = 10.0.73.15/g' $SCC_PATH
sed -i 's/'"${DOMAIN}"'/Domain = '"${LOCALIP}"'/g' $SCC_PATH
} modify_conf()
{
modify_scc
} modify_conf exit
conf.sh
说明:sed -i 's/'"${DOMAIN}"'/Domain = '"${LOCALIP}"'/g' $SCC_PATH
由于宏定义DOMAIN和LOCALIP在命令中使用$DOMAIN和$LOCALIP无法使用,需要使用'"${DOMAIN}"'和'"${LOCALIP}"',使执行脚本时能够替换
#!/bin/sh
MENULST="/JONET_boot/menu.lst"
SCC_PATH="/JONET/bin/SCC/CenterServer.config"
LOCALIP="`awk -F ',' '{print $2}' $MENULST |grep .`";
echo $LOCALIP modify_scc()
{
DOMAIN="`cat $SCC_PATH|grep Domain`"
echo $DOMAIN
echo $LOCALIP
sed -i 's/'"${DOMAIN}"'/Domain = '"${LOCALIP}"'/g' $SCC_PATH
} modify_conf()
{
modify_scc
} modify_conf exit
conf.sh
linux shell 脚本获取和替换文件中特定内容的更多相关文章
- [linux] shell脚本编程-统计日志文件中的设备号发通知邮件
1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|gr ...
- shell脚本实现读取一个文件中的某一列,并进行循环处理
shell脚本实现读取一个文件中的某一列,并进行循环处理 1) for循环 #!bin/bash if [ ! -f "userlist.txt" ]; then echo &qu ...
- Linux shell 脚本攻略之文件查找与文件列表
摘自:<Linux shell 脚本攻略>
- Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值
本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...
- linux下find查找与批量替换文件中指定内容
经常在部署tomcat时需要替换配置文件中的ip,find命令批量替换还是很方便的 查找需要替换的ip,看看哪些文件有配置这个ip,执行下面命令: find ./ -type f -regex &qu ...
- shell脚本,awk如何处理文件中上下关联的两行。
文件d.txt如下内容 ggg 1portals: 192.168.5.41:3260werew 2portals: 192.168.5.43:3260 如何把文件d.txt内容变为如下内容 ggg ...
- Linux Shell脚本,删除旧文件,保留最新的几个文件
删除某一目录下文件,只保留最新的几个 #!/bin/bash #保留文件数 ReservedNum= FileDir=/home/dev/saas_test/testcases/report/html ...
- C#替换文件中特定字符串,按照原来的编码格式保存
private void button1_Click(object sender, EventArgs e) { var txt1 = "E:\\Temp\\local"; str ...
- Python2_实现文件中特定内容的获取
===================================================== 参考链接 Python 文本文件内容批量抽取:https://blog.csdn.net/q ...
随机推荐
- 第六篇:在SOUI中用九宫格拉伸方式显示一个图片资源
SOUI的初学者刚开始可能难以搞清楚在SOUI中显示一个图片资源的流程,这里做一个简单的示范. 首先我们准备好一张图,以下图为例. 第一步,我们首先把这个图片文件复制到demo的uires目录下,新建 ...
- Eclipse的详细安装步骤
第一种:这个方法是在线安装的 第二种:下载完整免安装包 首先打开网址:http://www.eclipse.org/ 然后在这里我就选择64位的安装,就以安装安卓开发的举例: 然后下载即可:
- ios 区域检测 使用coreLocation
#import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...
- sidt十六进制代码
00121453 0F010D 40441200 sidt fword ptr ds:[gliu]0012145A 0F014D B0 sidt fword ptr ss:[ebp-0x50]0012 ...
- suse 不能远程登录
公司部分机器新装了suse企业版12,远程登录不成功,解决方法如下: 1.关闭防火墙 chkconfig --level SuSEfirewall2_init off 2.配置sshd 3.重启ssh ...
- java gui 之容器组件
演示Frame和Panel package unit7; import java.awt.*; public class SimpleFrame { public static void main(S ...
- node.js整理 02文件操作-常用API
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...
- 解决Kali Linux没有声音
解决Kali Linux没有声音 Kali Linux系统默认状态下,root用户是无法使用声卡的,也就没有声音.启用的方法如下: (1)在终端执行命令:systemctl --user enab ...
- Python学习笔记05
类 继承:单继承,多继承 方法:self开头,类似C#中的this 属性:直接写变量 对象:使用类名() 构造 __init__():构造函数 #多继承 class A(object): ...... ...
- mark元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...