免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1798 | 回复: 6

[文本处理] 求助一个文本处理。。 [复制链接]

论坛徽章:
0
发表于 2014-08-06 16:31 |显示全部楼层
本帖最后由 ayays 于 2014-08-07 09:12 编辑
  1. <Membership className="org.apache.catalina.tribes.membership.McastService"
  2.                 address="192.168.1.1"
  3.                 port="45564"
  4.                 frequency="500"
  5.                 dropTime="3000"/>
  6.         <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
  7.                 address="191.168.1.10"
  8.                 port="5000"
  9.                 selectorTimeout="100"
  10.                         maxThreads="6"/>
复制代码
现在想写个脚本。内容是执行脚本时输入一个IP 比如192.168.1.100 然后这个IP去替换掉1.10 ,下次我再执行这脚本的时候输入别的IP,会去替换1.100

也就是说执行脚本时 输入的IP去替换上一次输入在1.10位置的IP。。求一个思路。。。

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
发表于 2014-08-06 16:41 |显示全部楼层
本帖最后由 dn833 于 2014-08-06 16:43 编辑
  1. [root@FILE_SHARE tmp]# sh t.sh /tmp/a 192.168.3.3
  2. <Membership className="org.apache.catalina.tribes.membership.McastService"
  3.                 address="192.168.1.1"
  4.                 port="45564"
  5.                 frequency="500"
  6.                 dropTime="3000"/>
  7.         <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
  8.                 address="192.168.3.3"
  9.                 port="5000"
  10.                 selectorTimeout="100"
  11.                         maxThreads="6"/>
  12. [root@FILE_SHARE tmp]# cat /tmp/a
  13. <Membership className="org.apache.catalina.tribes.membership.McastService"
  14.                 address="192.168.1.1"
  15.                 port="45564"
  16.                 frequency="500"
  17.                 dropTime="3000"/>
  18.         <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
  19.                 address="191.168.1.10"
  20.                 port="5000"
  21.                 selectorTimeout="100"
  22.                         maxThreads="6"/>
  23. [root@FILE_SHARE tmp]# cat t.sh
  24. #!/bin/bash
  25. sed  '/transport.nio.NioReceiver/{n;s/".*"/"'"$2"'"/}' $1
复制代码
如果能达到你的要求,sed后边加个-i就可以了

论坛徽章:
0
发表于 2014-08-06 16:59 |显示全部楼层
dn833 发表于 2014-08-06 16:41
如果能达到你的要求,sed后边加个-i就可以了

感谢大神 如此迅速。。。

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-06 17:20 |显示全部楼层
楼主到底是要替换IP, 还是要替换特定位置的IP, 这可是两件不同的事.

如果替换特定位置的IP, 那楼上的办法就OK. 如果要 替换IP, 那好象还得增加一个临时文件, 以记录上次你输入的IP. 否则, 从何改起呢?

有个笨办法, 就是 把这个 上次的IP, 写在 脚本本身里. 然后,在替换 你的文件的时候, 同时把脚本里的IP也换掉.

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
发表于 2014-08-06 23:02 |显示全部楼层
回复 1# ayays
#!/bin/bash
t=$2
awk -F\" -v RS=">" -vt=$2  '$2~"Receiver" { $4=t;}1' $1
执行方法跟1楼一样

   

论坛徽章:
0
发表于 2014-08-07 09:14 |显示全部楼层
q1208c 发表于 2014-08-06 17:20
楼主到底是要替换IP, 还是要替换特定位置的IP, 这可是两件不同的事.

如果替换特定位置的IP, 那楼上的办 ...


。。没表达清楚  已经改过来了

论坛徽章:
6
羊年新春福章
日期:2015-03-03 17:16:28双子座
日期:2015-03-03 17:16:56巳蛇
日期:2015-03-03 17:17:2415-16赛季CBA联赛之福建
日期:2016-03-11 09:05:00黑曼巴
日期:2016-07-07 16:58:1215-16赛季CBA联赛之吉林
日期:2016-11-14 09:23:07
发表于 2014-08-07 16:06 |显示全部楼层
#!/bin/bash

echo -n "Enter your old IP:"
read old_ip
echo "old_ip=$old_ip"

echo -n "Enter your new IP:"
read new_ip
echo "new_ip=$new_ip"

sed -i 's/'$old_ip'/'$new_ip'/' test
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP