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 脚本获取和替换文件中特定内容的更多相关文章

  1. [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 ...

  2. shell脚本实现读取一个文件中的某一列,并进行循环处理

    shell脚本实现读取一个文件中的某一列,并进行循环处理 1) for循环 #!bin/bash if [ ! -f "userlist.txt" ]; then echo &qu ...

  3. Linux shell 脚本攻略之文件查找与文件列表

    摘自:<Linux shell 脚本攻略>

  4. Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值

    本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...

  5. linux下find查找与批量替换文件中指定内容

    经常在部署tomcat时需要替换配置文件中的ip,find命令批量替换还是很方便的 查找需要替换的ip,看看哪些文件有配置这个ip,执行下面命令: find ./ -type f -regex &qu ...

  6. shell脚本,awk如何处理文件中上下关联的两行。

    文件d.txt如下内容 ggg 1portals: 192.168.5.41:3260werew 2portals: 192.168.5.43:3260 如何把文件d.txt内容变为如下内容 ggg  ...

  7. Linux Shell脚本,删除旧文件,保留最新的几个文件

    删除某一目录下文件,只保留最新的几个 #!/bin/bash #保留文件数 ReservedNum= FileDir=/home/dev/saas_test/testcases/report/html ...

  8. C#替换文件中特定字符串,按照原来的编码格式保存

    private void button1_Click(object sender, EventArgs e) { var txt1 = "E:\\Temp\\local"; str ...

  9. Python2_实现文件中特定内容的获取

    ===================================================== 参考链接 Python 文本文件内容批量抽取:https://blog.csdn.net/q ...

随机推荐

  1. barabasilab-networkScience学习笔记3-随机网络模型

    第一次接触复杂性科学是在一本叫think complexity的书上,Allen博士很好的讲述了数据结构与复杂性科学,barabasi是一个知名的复杂性网络科学家,barabasilab则是他所主导的 ...

  2. 小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)

    PE Header 是PE相关结构NT映像头(IMAGE_NT_HEADER)的简称,里边包含着许多PE装载器用到的重要字段.下边小甲鱼将为大家详细讲解哈~ (视频教程:http://fishc.co ...

  3. Redis学习笔记(2) Redis基础类型及命令之一

    1. 基础命令 (1) 获取符合规则的键名列表 格式为:KEYS pattern 其中pattern表示支持通配符 # 建立一个名为bar的键 > SET bar OK # 获取Redis所有键 ...

  4. Android拓展系列(9)--Android视频录制screenrecord命令

    在Android4.4 Kitkat上集成了一个比较好用的视频录制功能.参考:http://forums.androidcentral.com/android-4-4-kitkat/329674-ho ...

  5. 【JAVA】数字相加

    设计思想:定义双精度变量 i 和 s=0 ,定义另一个变量 n 作为计数,方便之后求平均值.程序里将数据输入 i 中,通过 s 来将各个数据求和,最后除 n 得平均值. 程序流程图: 源程序代码: p ...

  6. Codeforces Round #356 (Div. 2)-A

    A. Bear and Five Cards 题目链接:http://codeforces.com/contest/680/problem/A A little bear Limak plays a ...

  7. SU Demo之01MakingData--02MultiShot

  8. Nico Nico Ni~(完全背包)

    Time Limit:2000MS  Memory Limit:65535K Type: Program   Language: Not Limited Description Lys plays L ...

  9. git 学习笔记5--rm & mv,undo

    rm 删除文件 rm <file> #Unix删除文件 git rm <file> # git删除文件 git rm -f <file> # git强制删除文件 g ...

  10. Sqlserver自定义函数Function

    一.FUNCTION: 在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点: 同点:1.创建定义是一样的:                ...