求助:一个匹配的问题
时间:2010-12-28
来源:互联网
- <VirtualHost 204.188.247.4>
- VirtualDocumentRoot /home/abc.info
- ServerName www.abc.info
- ServerAlias abc.info
- <Directory "/home/abc/abc.info">
-
- Options FollowSymLinks
- AllowOverride All
-
- Order allow,deny
- Allow from all
-
- </Directory>
- </VirtualHost>
- <VirtualHost 204.188.247.5>
- VirtualDocumentRoot /home/abc.net
- ServerName www.abc.net
- ServerAlias abc.net
- <Directory "/home/abc.net">
-
- Options FollowSymLinks
- AllowOverride All
-
- Order allow,deny
- Allow from all
-
- </Directory>
- </VirtualHost>
- <VirtualHost 204.188.247.57>
- VirtualDocumentRoot /data0/web/abc.com
- ServerName www.abc.com
- ServerAlias abc.com
- <Directory "/data0/web/abc.com">
-
- Options FollowSymLinks
- AllowOverride All
-
- Order allow,deny
- Allow from all
-
- </Directory>
- </VirtualHost>
提出的格式例如:
/home/abc.net www.abc.net
/home/abc.info www.abc.info
.....
作者: mcshell 发布时间: 2010-12-28
- #!/usr/bin/perl -w
-
- open FI, "1";
- open FO, ">2";
- while(<FI>){
- if(/VirtualDocumentRoot (.*)/){
- if(/VirtualDocumentRoot\s\/data0\//){
- $flag = 0;
- }
- else{
- $flag = 1;
- print FO $1;
- }
- }
- if((/ServerName (.*)/) and ($flag eq 1)){
- print FO " $1$/";
- }
- }
- close FI;
- close FO;
作者: 午夜凋零 发布时间: 2010-12-29
谢谢,不过好像不行呀。

作者: mcshell 发布时间: 2010-12-29
mcshell 发表于 2010-12-29 10:49
是只匹配“/home/”下的,还是只不匹配“/data0/”下的?
作者: 午夜凋零 发布时间: 2010-12-29
午夜凋零 发表于 2010-12-29 10:59
只匹配home下的。。data0下的不提取

作者: mcshell 发布时间: 2010-12-29
- while(<>){
- if(m{Root (/home/.+)}){
- print "$1\t";
- $sNext = <>;
- (undef,undef,$sServerName) = split /\s+/,$sNext;
- print "$sServerName\n";
- }
- }

作者: mcshell 发布时间: 2010-12-29
mcshell 发表于 2010-12-29 11:03
那你的data0目录在不在home下面?
作者: 午夜凋零 发布时间: 2010-12-29
午夜凋零 发表于 2010-12-29 11:09
嗯 是的 你可以看下上面的代码的输出结果 ,就是那个样子的。。
作者: mcshell 发布时间: 2010-12-29
mcshell 发表于 2010-12-29 11:05
想法是好的,你测过了吗
作者: langren868 发布时间: 2010-12-29
mcshell 发表于 2010-12-29 11:12
- #!/usr/bin/perl -w
-
- open FI, "1";
- open FO, ">2";
- while(<FI>){
- if(/VirtualDocumentRoot\s(\/home\/.*)/){
- if(/\/data0\//){
- $flag = 0;
- }
- else{
- $flag = 1;
- print FO $1;
- }
- }
- if((/ServerName (.*)/) and ($flag eq 1)){
- print FO " $1$/";
- $flag = 0;
- }
- }
- close FI;
- close FO;
作者: 午夜凋零 发布时间: 2010-12-29
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28