免费注册 查看新帖 |

Chinaunix

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

向大家请教一个文本替换的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-17 13:19 |只看该作者 |倒序浏览
我需要把一个文件夹下所有同时包含字符串 "/achproject_index.do" 和字符串 "成果项目" 的行中的字符串 "/achproject_index.do" 替换成字符串 "/static/cgxm" 。

比如: 在文件夹test下有很多以.html结尾的html文件,搜索这些文件包含字符串"/achproject_index.do"的行,总结如下:
1. <a href="/csta/achproject_index.do" target="_blank">成果项目</a>。共2003行;
2. <form name="achplanproject" action="/achproject_index.do" method="post">。共2216行;

我需要把第一种情况的字符串 "/achproject_index.do" 全部替换成字符串 "/static/cgxm",替换后的结果应该是这样:
<a href="/csta/static/cgxm" target="_blank">成果项目</a>
而第二种情况的行不变。

我的命令应该怎么写呢?

请教,多谢!

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2010-08-17 13:28 |只看该作者
用sed不知道可以实现不。而且可以直接操作文件。

论坛徽章:
0
3 [报告]
发表于 2010-08-17 13:36 |只看该作者
我不会用sed命令啊,这个命令好像比较复杂,
能不能给写个具体的命令行出来呢?

多谢 !

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
4 [报告]
发表于 2010-08-17 13:54 |只看该作者
到Shell版去问。。。。。。

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
5 [报告]
发表于 2010-08-17 13:57 |只看该作者
是不是要这样的


[gamester88@bachieve test]$ more 1.html 2.html

  1. ::::::::::::::
  2. 1.html
  3. ::::::::::::::
  4. <a href="/csta/achproject_index.do" target="_blank">成果项目</a>
  5. ::::::::::::::
  6. 2.html
  7. ::::::::::::::
  8. <form name="achplanproject" action="/achproject_index.do" method="post">
复制代码
[gamester88@bachieve test]$ egrep '(achproject_index.do).*成果项目|成果项目.*(achproject_index.do)' ./*.html | sed 's/achproject_index.do/static\/cgxm/g'

  1. ./1.html:<a href="/csta/static/cgxm" target="_blank">成果项目</a>
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-08-17 14:08 |只看该作者
本帖最后由 liying_gg 于 2010-08-17 14:10 编辑

  1. [lchen0@pek-dsm-d1 ~]$ cat 1
  2. 1. <a href="/csta/achproject_index.do" target="_blank">chengguo</a>..2003..
  3. 2. <form name="achplanproject" action="/achproject_index.do" method="post">..2216..
  4. [lchen0@pek-dsm-d1 ~]$ cat 2
  5. 1. <a href="/csta/achproject_index.do" target="_blank">chengguo</a>..2003..
  6. 2. <form name="achplanproject" action="/achproject_index.do" method="post">..2216..
  7. [lchen0@pek-dsm-d1 ~]$ sed '/chengguo/s:achproject_index.do:static/cgxm:g' 1 2
  8. 1. <a href="/csta/static/cgxm" target="_blank">chengguo</a>..2003..
  9. 2. <form name="achplanproject" action="/achproject_index.do" method="post">..2216..
  10. 1. <a href="/csta/static/cgxm" target="_blank">chengguo</a>..2003..
  11. 2. <form name="achplanproject" action="/achproject_index.do" method="post">..2216..
复制代码

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
7 [报告]
发表于 2010-08-17 17:18 |只看该作者
grep -l "成果项目" *|xargs sed s/\/achproject_index.do/\/static\/cgxm/g

这样?

论坛徽章:
0
8 [报告]
发表于 2010-08-17 18:51 |只看该作者
俺也要补习一下

论坛徽章:
0
9 [报告]
发表于 2010-08-17 19:04 |只看该作者
sed 也正在看

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
10 [报告]
发表于 2010-08-17 20:45 |只看该作者
去shell版问下吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP