免费注册 查看新帖 |

Chinaunix

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

[文本处理] 求助关于文本中字段替换问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-29 11:25 |只看该作者 |倒序浏览
我有个软件的配置文件,里面是分不同场景的,但是不同场景中有相同的字段,我想某个场景下的字段值,但是其他场景中也有相同的字段,这样导致所有场景中相同的字段都被替换,想问问大家有没有什么好办法。
配置文件如下

[场景1]
ProcessCount = 1
MKMThreadCount = 32
FolderNum = 32
lev2FolderNum = 512
lev3FolderNum = 64
WriteFilePath = /home/hms/data/c/vod_pub_d/400k/
TsFileNum = 50
MediaFileType = mdn123ts
WriteMediaFileSize = 409600

[场景2]
ProcessCount = 1
MKMThreadCount = 4500
FolderNum = 32
lev2FolderNum = 16
lev3FolderNum = 64
ReadFilePath =/home/hms/data/c/vod_pub_d/400k/
ReadUserCaps = 18
ReadKBitRate = 2000
ReadvKbs = 2048
TsFileNum = 50
MediaFileType = mdn123ts

WriteChannelNum = 200
WriteFilePath = /home/hms/data/d/rec_pub_d/CDN_2/
WriteUserCaps = 18
WriteKBitRate = 2000
WriteMediaFileSize = 409600
WriteDIOFlag = true

其中把WriteMediaFileSize = 409600 替换成 WriteMediaFileSize = 2097152  
sed -i 's/WriteMediaFileSize = 409600/WriteMediaFileSize = 2097152/g',但是这样一来两个场景的这个字段就都被替换了,我只想替换场景1中的这个字段。

论坛徽章:
0
2 [报告]
发表于 2014-05-29 11:43 |只看该作者
本帖最后由 todayhero 于 2014-05-29 11:45 编辑

@笑着爱你


你可以使用sed查找文本功能确定要修改的范围再操作了。

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
3 [报告]
发表于 2014-05-29 11:53 |只看该作者
回复 1# 笑着爱你
  1. sed '/\[场景1\]/{:1;N;s/WriteMediaFileSize = 409600/WriteMediaFileSize = 2097152/;T1}' i
  2. [场景1]
  3. ProcessCount = 1
  4. MKMThreadCount = 32
  5. FolderNum = 32
  6. lev2FolderNum = 512
  7. lev3FolderNum = 64
  8. WriteFilePath = /home/hms/data/c/vod_pub_d/400k/
  9. TsFileNum = 50
  10. MediaFileType = mdn123ts
  11. WriteMediaFileSize = 2097152

  12. [场景2]
  13. ProcessCount = 1
  14. MKMThreadCount = 4500
  15. FolderNum = 32
  16. lev2FolderNum = 16
  17. lev3FolderNum = 64
  18. ReadFilePath =/home/hms/data/c/vod_pub_d/400k/
  19. ReadUserCaps = 18
  20. ReadKBitRate = 2000
  21. ReadvKbs = 2048
  22. TsFileNum = 50
  23. MediaFileType = mdn123ts

  24. WriteChannelNum = 200
  25. WriteFilePath = /home/hms/data/d/rec_pub_d/CDN_2/
  26. WriteUserCaps = 18
  27. WriteKBitRate = 2000
  28. WriteMediaFileSize = 409600
  29. WriteDIOFlag = true
复制代码

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
4 [报告]
发表于 2014-05-29 12:25 |只看该作者
月经帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP