LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 625|回复: 5

如何对文件以块的形式操作-请高手指点

[复制链接]
发表于 2005-4-18 00:46:59 | 显示全部楼层 |阅读模式
具体例子如apache的VirtualHost配置:
<VirtualHost 1.2.3.4>
ServerName fox.com
................
.................
</VirtualHost>

<VirtualHost 1.2.3.4>
ServerName dog.com
................
.................
</VirtualHost>

这种形式,用sed '/^<Vir/,/^<\/Vir/ {/fox.com/d} ' 只能删除匹配块中的一行,无法删除符合条件的整个<VirtualHost 1.2.3.4>。。。。</VirtualHost >段,在shell脚本的技术范围内有什么办法可以实现吗?非常感谢!
发表于 2005-4-18 02:53:41 | 显示全部楼层
为什么不用这样的语法?

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*

(每个虚拟主机是 sites-enabled 下面的一个文件)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 10:59:07 | 显示全部楼层
非常感谢,不过我主要是想学习怎么通过脚本技术这样操作文件,apache只是个例子
回复 支持 反对

使用道具 举报

发表于 2005-4-18 12:27:38 | 显示全部楼层
如果全部都是有规律的块,可以把这些块放到标量中,当成一些标量处理!
只是模式匹配的时候要注意(可能需要加/s/m修饰符)!具体可以查看perl正则表达式的修饰!
回复 支持 反对

使用道具 举报

发表于 2005-4-18 12:27:01 | 显示全部楼层
如果全部都是有规律的块,可以把这些块放到标量中,当成一些标量处理!
只是模式匹配的时候要注意(可能需要加/s/m修饰符)!具体可以查看perl正则表达式的修饰!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 21:55:17 | 显示全部楼层
非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表