Chinaunix

标题: sed跨行替换 [打印本页]

作者: 南无小和尚    时间: 2009-09-14 17:05
标题: sed跨行替换
<div id="header">
                        <span><a href="http://xxx">登陆</a> | <a href="http://xxxxx">帮助</a></span><img src="/image/cuxiao-logo.gif" align="absmiddle" /><a href="http://xxxxxx/">首页</a> |
        </div>
文件下有好多.html文件,现在需要把<div id="header"> </div>中间的替换成别的,中间有多行,问sed如何实现?谢谢。
作者: 南无小和尚    时间: 2009-09-14 17:27
已经找到,http://bbs2.chinaunix.net/viewth ... p;extra=&page=1
作者: 南无小和尚    时间: 2009-09-14 17:34
不过好像不太一样。
作者: seeagain8    时间: 2009-09-14 18:12
标题: 回复 #1 南无小和尚 的帖子
sed '/<div id="header">/,/<\/div>/c\ xxx'  要操作的文件 |sed '/xxx/r 吧替换的内容放在这个文件里面' |sed '/xxx/d'
作者: blackold    时间: 2009-09-14 18:22
sed, 使用N命令。
awk, 使用RS
vim, 本身就可以匹配多行。
作者: unixlinuxsys    时间: 2009-09-14 22:45
sed n
作者: ruanjf    时间: 2009-09-15 00:04
格式是这样的
sed 's/\(aaa\).*\(bbb\)/\1ccc\2/g'
命令是
sed 's/\(\<div id =\"header\"\>\).*\(\<\/div\>\)/\1这里填你要改的东西\2/g'
其中有的符号要用"\"转义
大概就这样

[ 本帖最后由 ruanjf 于 2009-9-15 00:07 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2