免费注册 查看新帖 |

Chinaunix

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

[文本处理] 【求救】求一句跨行替换文本的shell [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-23 11:04 |只看该作者 |倒序浏览
本帖最后由 limaoyuan 于 2014-06-23 12:06 编辑

希望把FileManager.get(xxxx);中红色的部分分别在前面加"xxx",难点在于 1.跨行   2."/js/js_1.js"在不同的规则里出现了多次,绿色中的不要被替换掉,谢谢。

<html>
<head>
<script>
FileManager.get('/js/js_1.js',
'/css/v11/css_1.css',
'/css/v8/aaa/css_2.css');
TemplateEngine.get('b/bb/main.html', LT.Env.cRoot);
FileManager.get('/js/js_1.js');
TemplateEngine.get('/js/js_1.js', LT.Env.cRoot);
TemplateEngine.get('c/cc/main.html', LT.Env.cRoot);
</script>
</head>
<body>
</body>
</html>

希望的效果是:
<html>
<head>
<script>
FileManager.get('xxx/js/js_1.js',
'xxx/css/v11/css_1.css',
'xxx/css/v8/lpt/css_2.css');
TemplateEngine.get('b/resume/main.html', LT.Env.cRoot);
FileManager.get('xxx/js/js_1.js');
TemplateEngine.get('/js/js_1.js', LT.Env.cRoot);
TemplateEngine.get('c/resume/main.html', LT.Env.cRoot);
</script>
</head>
<body>
</body>
</html>

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
2 [报告]
发表于 2014-06-23 11:42 |只看该作者
求解释:

要求中说: 绿色中的不要被替换掉
但希望的结果中又被替换掉了:TemplateEngine.get('xxx/js/js_1.js', LT.Env.cRoot);

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
3 [报告]
发表于 2014-06-23 11:44 |只看该作者
本帖最后由 关阴月飞 于 2014-06-23 11:45 编辑

是要这种结果吗?
<html>
<head>
<script>
FileManager.get('xxx/js/js_1.js',
'xxx/css/v11/css_1.css',
'xxx/css/v8/aaa/css_2.css');
TemplateEngine.get('b/bb/main.html', LT.Env.cRoot);
FileManager.get('xxx/js/js_1.js');
TemplateEngine.get('/js/js_1.js', LT.Env.cRoot);
TemplateEngine.get('c/cc/main.html', LT.Env.cRoot);
</script>
</head>
<body>
</body>
</html>
  1. [root@ awktest]# awk '/FileManager.get/,/;/{sub("/","xxx/")}1' urfile   
  2. <html>
  3. <head>
  4. <script>
  5. FileManager.get('xxx/js/js_1.js',
  6. 'xxx/css/v11/css_1.css',
  7. 'xxx/css/v8/aaa/css_2.css');
  8. TemplateEngine.get('b/bb/main.html', LT.Env.cRoot);
  9. FileManager.get('xxx/js/js_1.js');
  10. TemplateEngine.get('/js/js_1.js', LT.Env.cRoot);
  11. TemplateEngine.get('c/cc/main.html', LT.Env.cRoot);
  12. </script>
  13. </head>
  14. <body>
  15. </body>
  16. </html>
复制代码

论坛徽章:
0
4 [报告]
发表于 2014-06-23 12:05 |只看该作者
回复 3# 关阴月飞

谢谢,是这意思,学习了~~~

论坛徽章:
0
5 [报告]
发表于 2014-06-23 12:06 |只看该作者
回复 2# 关阴月飞


    谢谢提醒,是我打错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP