Board logo

标题: [问题求助] [已解决]sed怎样替换如</td>这种特殊字符串? [打印本页]

作者: abxialiang    时间: 2010-7-5 10:10     标题: [已解决]sed怎样替换如</td>这种特殊字符串?

sed "s/^<^/td^>/789/g" 1.txt >2.txt
用这个不行,
sed "s/</td>/789/g" 1.txt >2.txt
这个也不行

[ 本帖最后由 abxialiang 于 2010-7-9 22:45 编辑 ]
作者: CUer    时间: 2010-7-5 10:23

  1. sed "s#</td>#789#g" 1.txt >2.txt
复制代码
  1. sed "s/<\/td>/789/g" 1.txt >2.txt
复制代码

作者: abxialiang    时间: 2010-7-5 11:48

谢谢,正是这样的,原来可以用特殊字符来进行分隔的啊
作者: abxialiang    时间: 2010-7-5 11:58

又遇到了一个新的问题,怎么替换如:”http://*****.com“这种结构的字符口串(*表示任意)
作者: CUer    时间: 2010-7-5 13:01

  1. sed "s#http://.*\.com#789#g" 1.txt >2.txt
复制代码

作者: abxialiang    时间: 2010-7-5 13:15

这样的话存在一个问题,请看:
123456http://www.baidu.com789.com
我只想删除这些网址,但后面的789.com也被删除了。所以我希望只删除最近匹配的,而且每次只处理一行。(不应该是这行的http://与下一行的com)
作者: Batcher    时间: 2010-7-5 15:26     标题: 回复 6楼 的帖子

能否把你的原始文件用附件的形式传上来看看?
作者: abxialiang    时间: 2010-7-5 17:01

我马上把附件传上来,我想把这个文本中的不是小说内容的东西全部去掉,但是小说本身的内容不能损坏。
作者: CUer    时间: 2010-7-6 22:56

  1. sed "s/<[^>]\+>//g" 1.txt >2.txt
复制代码

作者: abxialiang    时间: 2010-7-7 09:38

非常佩服Cuer对sed 命令的熟悉程度,大部分的多余文字都已经去除了,请问这个语句里面的“\+>”有什么作用
作者: CUer    时间: 2010-7-7 20:37     标题: 正则基础

正则表达式使用详解
http://bbs.chinaunix.net/thread-63273-1-1.html

Regular Expression 简介
http://bbs.chinaunix.net/thread-605570-1-1.html

Regular Expression POSIX Extension
http://bbs.chinaunix.net/viewthread.php?tid=1617693#pid11506403




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2