免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5169 | 回复: 3
打印 上一主题 下一主题

[其他] sed 在shell中没起作用,谁帮我看下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-13 18:05 |只看该作者 |倒序浏览
以下是我写的脚本
sed -i "s#$IP_old#$IP_new#g" $path/boomy_hz5.xml,用这句来执行替换文件中的IP功能,
但是一直没成功,
我还在之前的程序中加入了
echo $IP_old
echo $IP_new
这两个IP都是输出正常的,这证明两个变量是没错的
但就是sed没成功,于是我又在sed之后加了前一行是否成功的判断,结果执行时也显示sed是成功执行了,
但最终的结果在文件中并没有执行替换操作
请大神们斧正;PS我要替换的IP为IP_new=192.168.0.66,IP_old=192.168.0.70
  1. #!/bin/bash
  2. #auth by yingtie
  3. #this script for dataserver auto start
  4. #email:279096962@qq.com
  5. #2016/06/12
  6. #判断文件夹是否存在,若不存在则创建
  7. if [ ! -d "/home/yuantiaotech/boomy/project" ]; then
  8.         cp -r /tmp/boomy /home/yuantiaotech/boomy
  9.         mkdir /home/yuantiaotech/boomy/project
  10. fi
  11. #断文件夹是否存在,若不存在则创建
  12. if [ ! -d "/home/yuantiaotech/boomy/project/Storm" ]; then
  13.   mv  /home/yuantiaotech/boomy/STS /home/yuantiaotech/boomy/project/Storm
  14. fi
  15. #断文件夹是否存在,若不存在则创建
  16. if [ ! -d "/home/yuantiaotech/boomy/project/STD" ]; then
  17.   mv  /home/yuantiaotech/boomy/STD /home/yuantiaotech/boomy/project/STD
  18. fi
  19. #mv /home/yuantiaotech/boomy/STS /home/yuantiaotech/boomy/Storm
  20. #定义路径
  21. path=/home/yuantiaotech/boomy/project/Storm
  22. #从boomy_hz5.xml取出IP地址存入变量IP_old
  23. IP_old=`tail $path/boomy_hz5.xml|sed -n '4p'|awk '{print $2}'|sed 's#name="url">jdbc:mysql://##g'|sed 's#:3306/boomy2.1.4##g'`
  24. echo $IP_old
  25. #取得本机IP存入变量IP_new
  26. IP_new=`ifconfig|grep "inet addr:"|head -n 1|awk '{print $2}'|sed 's/addr://g'`
  27. echo $IP_new
  28. #用本机IP替换boomy_hz5.xml中的所有IP,完成后执行一个验证判断
  29. sed -i "s#$IP_old#$IP_new#g" $path/boomy_hz5.xml
  30. if [ $? -eq 0  ];then
  31.         echo "\033[32mmysql&oracle jdbc in boomy_hz5.xml has been configured\033[0m"
  32. else
  33.         echo "\033[32mmysql&oracle jdbc in boomy_hz5.xml configure failed\033[0m"
  34. fi
  35. ~     
复制代码
下面是部分boomy_hz5.xml文件中的内容,请大家帮我分析下为啥没有替换成功
  1.   <spout-configs>
  2.                 <config name="s_bayonet" device-type="bayonet">
  3.                         <database type="oracle">
  4.                                 <property name="user">boomy</property>
  5.                                 <property name="password">boomy</property>
  6.                                 <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
  7.                                 <property name="jdbcUrl">jdbc:oracle:thin:@192.168.0.70:1521:orcl
  8.                                 </property>
  9.                         </database>
  10.                         <table name="TEST_SIMULATEBAYONETDATA">
  11.                                 <field name="ROAD_ID" />
  12.                                 <field name="NODE_ID" />
  13.                                 <field name="DATATIME" />
  14.                         </table>
  15.                 </config>
  16.                 <config name="s_wave" device-type="wave">
  17.                         <database type="oracle">
  18.                                 <property name="user">boomy</property>
  19.                                 <property name="password">boomy</property>
  20.                                 <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
  21.                                 <property name="jdbcUrl">jdbc:oracle:thin:@192.168.0.70:1521:orcl
  22.                                 </property>
  23.                         </database>
  24.                         <table name="TEST_SIMULATEWAVEDATA">
  25.                                 <field name="ROAD_ID" />
  26.                                 <field name="LANE_ID" />
  27.                                 <field name="DATATIME" />
  28.                                                                                                       325,2-9       84%
  29.                                 <field name="LANE_ID" />
  30.                                 <field name="DATATIME" />
  31.                                 <field name="AVERAGEUSE" />
  32.                                 <field name="CARNUM" />
  33.                         </table>
  34.                 </config>
  35.                 <config name="s_gps" device-type="gps">
  36.                         <database type="oracle">
  37.                                 <property name="user">boomy</property>
  38.                                 <property name="password">boomy</property>
  39.                                 <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
  40.                                 <property name="jdbcUrl">jdbc:oracle:thin:@192.168.0.70:1521:orcl
  41.                                 </property>
  42.                         </database>
  43.                         <table name="TEST_SIMULATEGPSDATA">
  44.                                 <field name="TERMINAL" />
  45.                                 <field name="FLAG" />
  46.                                 <field name="DATATIME" />
  47.                                 <field name="LONGITUDE" />
  48.                                 <field name="LATITUDE" />
  49.                                 <field name="SPEED" />
  50.                                 <field name="RATE" />
  51.                         </table>
  52.                 </config>
  53.         </spout-configs>
  54.         <bolt-configs>
  55.                 <config name="b_gps" source-type="GPS">
  56.                         <rule name="speed" type="double">SPEED</rule>
  57.                         <rule name="datatime" type="date">DATATIME</rule>
  58.                         <rule name="originalId" type="string">TERMINAL</rule>
  59.                         <rule name="workStatus" type="string">FLAG</rule>
  60.                         <rule name="rate" type="double">RATE</rule>
  61.                         <rule name="oriLongitude" type="double">LONGITUDE</rule>
  62.                         <rule name="oriLatitude" type="double">LATITUDE</rule>
  63.                         <rule name="count" type="int">1</rule>
  64.                 </config>
  65.                 <config name="b_flow" source-type="BAYONET">
  66.                         <rule name="roadId" type="string">ROAD_ID</rule>
  67.                                                                                                       361,5-33      93%
  68.                 <config name="b_flow" source-type="BAYONET">
  69. <rule name="roadId" type="string">ROAD_ID</rule>
  70.                         <rule name="nodeId" type="int">NODE_ID</rule>
  71.                         <rule name="datatime" type="date">DATATIME</rule>
  72.                         <rule name="originalId" type="string">ROAD_ID</rule>
  73.                         <replace>roadId</replace>
  74.                 </config>
  75.                 <config name="b_occupany" source-type="WAVE">
  76.                         <rule name="roadId" type="string">ROAD_ID</rule>
  77.                         <rule name="laneId" type="int">LANE_ID</rule>
  78.                         <rule name="averageuse" type="double">AVERAGEUSE</rule>
  79.                         <rule name="waveflow" type="int">CARNUM</rule>
  80.                         <rule name="datatime" type="date">DATATIME</rule>
  81.                         <rule name="originalId" type="string">ROAD_ID</rule>
  82.                         <replace>roadId</replace>
  83.                 </config>
  84.         </bolt-configs>
  85.         <topology-configs>
  86.                 <config name="url">jdbc:mysql://192.168.0.70:3306/boomy2.1.4
  87.                 </config>
  88.                 <config name="user">root</config>
  89.                 <config name="password">123456</config>
  90.                 <config name="flowCompetionFlag">true</config>
  91.         </topology-configs>
  92. </topology>
  93. ~            
复制代码

论坛徽章:
0
2 [报告]
发表于 2016-06-27 16:41 |只看该作者
sed -i "s#$IP\_old#$IP\_new#g" $path/boomy_hz5.xml
具体的没细看~ 是不是转译符的问题?

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-07-17 06:20:00
3 [报告]
发表于 2016-07-14 17:01 |只看该作者

是可以替换的,测试如下:

[root@mrhcatxq01 test]# grep "192.168.0.70" test.txt
07.                                <property name="jdbcUrl">jdbcracle:thin192.168.0.70:1521rcl
21.                                <property name="jdbcUrl">jdbcracle:thin192.168.0.70:1521rcl
40.                                <property name="jdbcUrl">jdbcracle:thin192.168.0.70:1521rcl
86.                <config name="url">jdbc:mysql://192.168.0.70:3306/boomy2.1.4
[root@mrhcatxq01 test]# ./tt.sh
[root@mrhcatxq01 test]# grep "192.168.0.70" test.txt
[root@mrhcatxq01 test]# cat tt.sh
#!/bin/bash
IP_old=192.168.0.70
IP_new=192.168.0.66
sed -i "s#$IP_old#$IP_new#g" test.txt
[root@mrhcatxq01 test]#

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-07-17 06:20:00
4 [报告]
发表于 2016-07-14 17:02 |只看该作者
[root@mrhcatxq01 test]# grep "192.168.0.66" test.txt
07.                                <property name="jdbcUrl">jdbcracle:thin192.168.0.66:1521rcl
21.                                <property name="jdbcUrl">jdbcracle:thin192.168.0.66:1521rcl
40.                                <property name="jdbcUrl">jdbcracle:thin192.168.0.66:1521rcl
86.                <config name="url">jdbc:mysql://192.168.0.66:3306/boomy2.1.4
[root@mrhcatxq01 test]#
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP