亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 16259 | 回復(fù): 55
打印 上一主題 下一主題

sed 匹配網(wǎng)站問題 (已解決) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-04-30 20:46 |只看該作者 |倒序瀏覽
本帖最后由 luo118 于 2010-05-02 12:35 編輯

sed 匹配網(wǎng)站問題

源文如下

  1. <VirtualHost *:80>
  2. ServerAdmin [email]webmaster@test.com[/email]
  3. DocumentRoot /home/vhost/test/public_html
  4. ServerName test.com
  5. ServerAlias [url]www.test.com[/url]
  6. ErrorLog logs/test.com-error_log
  7. TransferLog logs/test.com-access_log
  8. </VirtualHost>

  9. <VirtualHost *:80>
  10. ServerAdmin [email]webmaster@abc.com[/email]
  11. DocumentRoot /home/vhost/abc/public_html
  12. ServerName abc.com
  13. ServerAlias [url]www.abc.com[/url]
  14. ErrorLog logs/abc.com-error_log
  15. TransferLog logs/abc.com-access_log
  16. </VirtualHost>
復(fù)制代碼
我的意思是,在虛擬主機中,找到 abc.com 的域名,把abc.com 整個虛擬主機輸出。格式不變?nèi)缦?

  1. <VirtualHost *:80>
  2. ServerAdmin [email]webmaster@abc.com[/email]
  3. DocumentRoot /home/vhost/abc/public_html
  4. ServerName abc.com
  5. ServerAlias [url]www.abc.com[/url]
  6. ErrorLog logs/abc.com-error_log
  7. TransferLog logs/abc.com-access_log
  8. </VirtualHost>
復(fù)制代碼

論壇徽章:
0
2 [報告]
發(fā)表于 2010-04-30 20:49 |只看該作者
sed -n '/\<VirtualHost\>/{/abc.com/},/\<VirtualHost\>/p' datafile;
提示用法不對。
所以請高手門指點一下。

論壇徽章:
0
3 [報告]
發(fā)表于 2010-04-30 20:59 |只看該作者
回復(fù) 2# luo118


    為什么一定要用sed呢
  1. grep -A4 -B3  "ServerName abc.com" file
復(fù)制代碼

論壇徽章:
0
4 [報告]
發(fā)表于 2010-04-30 21:31 |只看該作者
awk 'BEGIN{RS = "\n\n\n+"}/abc/'

評分

參與人數(shù) 1可用積分 +2 收起 理由
luo118 + 2 THX

查看全部評分

論壇徽章:
0
5 [報告]
發(fā)表于 2010-05-01 00:07 |只看該作者
回復(fù) 3# where27


    謝謝的回復(fù),因為行數(shù)是不定的,有可在前有5行,或后面有7-10行。 所以一定要在一個范圍內(nèi)。不用管它多少行。

論壇徽章:
0
6 [報告]
發(fā)表于 2010-05-01 00:11 |只看該作者
回復(fù) 4# iori809


    你方法你試過嗎?好像沒有起效,把所有內(nèi)容都讀出來,

還有nnn+ 是指3行中的abc 吧。。。

大家看看有沒有更好的方法。謝謝!

論壇徽章:
0
7 [報告]
發(fā)表于 2010-05-01 09:27 |只看該作者
我認(rèn)為4樓的方法是可以的,你再仔細(xì)的看看

論壇徽章:
0
8 [報告]
發(fā)表于 2010-05-01 13:37 |只看該作者
本帖最后由 where27 于 2010-05-01 13:49 編輯

如果每個虛擬主機之間都有空行分隔的話,4樓的方法是可以的,不過應(yīng)該是兩個\n吧。沒有空行分隔就不行了

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
9 [報告]
發(fā)表于 2010-05-01 14:00 |只看該作者
回復(fù) 6# luo118


4樓代碼可行,你測試的時候用的哪個版本的awk啊?
\n\n\n+是指設(shè)置RS為三個或三個以上的newline

論壇徽章:
0
10 [報告]
發(fā)表于 2010-05-01 14:04 |只看該作者
本帖最后由 where27 于 2010-05-01 14:06 編輯

回復(fù) 6# luo118
  1. sed -e '/^</,/Host>$/{H;//!d}' -e 'x;/abc.com/!d' file
復(fù)制代碼
第一部分把虛擬主機的內(nèi)容存到緩沖空間,第二部分判斷虛擬主機里是否包含abc.com,包含則打印。
  1. awk 'BEGIN{RS="\n\n+"}/abc.com/' file
復(fù)制代碼
這個是抄襲4樓呆呆的,不過得要每個虛擬主機都有空行分隔才好使,沒有空行分隔的話就用sed吧

評分

參與人數(shù) 1可用積分 +2 收起 理由
luo118 + 2 right

查看全部評分

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP