亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

awk中讓人郁悶的system()函數

2019-10-26 18:36:51
字體:
來源:轉載
供稿:網友

發現一個特尷尬的事實。我辛辛苦苦去百度資料,想用rewrite實現針對不同域名源站故障后的自動跳轉功能,但整個思路里遺漏了一個嚴重的問題。

按我的思路,針對請求的url進行一次curl,然后根據http_code去改寫url或者原樣輸出——這也就意味著,每一個請求,squid都回源去取一次header。那么對于源站來說,前面squid的緩存率,就是0%!完全沒有效果。

得重新想過辦法……難道去看squid源代碼?汗

本著有頭有尾善始善終的原則,決定還是把原先那個雞肋想法寫完。根據squid權威指南11章的說法,傳遞給重定向器的流格式為:URL IP/FQDN IDENT METHOD,其中FQDN和ident經常是空。METHOD,一般是GET和POST,squid只能緩存GET的數據,但不能無視POST方式,因為有時候POST數據header太大的話,squid可能拒絕轉發這些內容,這就不好玩了。

在明確這個格式以后(主要是草草收尾的想法影響下),我便覺得其實完全不用perl或者php來搞,簡單的awk就足夠了——當然,shell不行,因為shell不能從事這種流狀的行處理。

以下是本著我想法寫的awk腳本:

代碼如下:
#!/bin/awk -f
{
  if(system("curl -o /dev/null -s -w %{http_code}" $1)~/^[2|3]/){
    print ":$1"
  } else {
    print ":http://www.baidu.com/"
  }
}

但是再度讓我郁悶的事情接連發生。

第一,不管我在{}中進行什么操作,程序都把system()的結果print出來了;

第二,即使system()的結果是200,print出來的也是else{}的”http://www.baidu.com”;而如果我直接試驗if(200~/^[2 3]/){}else{},結果就很正常!

試驗過程如下:
代碼如下:
[rao@localhost ~]$ echo "http://www.google.com"|awk '{if(200~/^[2|3]/){ print ":"$1 } else{ print ":http://www.baidu.com/"}}'
:http://www.google.com
[rao@localhost ~]$ echo "http://www.google.com"|awk '{if(system("curl -o /dev/null -s -w %{http_code} "$1)~/^[2|3]/){print ":"$1 } else{ print ":http://www.baidu.com/"}}'
200:http://www.baidu.com/

思前想后,在百度大嬸的幫助下,終于搞明白一個問題:system()的結果是直接返回給shell顯示了,然后再由awk繼續執行后面的程序,這種情況下,if()里留下的其實是system()的執行狀態【即0或1】”0”~/^[2 3]/,當然就一直執行else了。

糟糕的問題是awk的getline,無法直接把system()的執行結果導入awk的變量…除非我先system里>一個文件,然后getline<這個文件。MyGod!

而如果采用while(“curl” getline var)的執行方式,如何傳遞shell變量進去又成了問題……唉

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久一区二区| 精品国产一区二区三区久久久狼| 久久久国产精品免费| 日韩久久精品电影| 欧美专区国产专区| xxx成人少妇69| 国产精品久久久久久久久粉嫩av| 国产精品久久久久秋霞鲁丝| 亚洲精品97久久| 亚洲国产成人在线视频| 欧美第一黄网免费网站| 日韩一区av在线| 久久精品久久久久久| 亚洲精品中文字幕av| 91chinesevideo永久地址| 亚洲国产精品999| 岛国精品视频在线播放| 国产精品小说在线| 丝袜美腿亚洲一区二区| 91国产高清在线| 国产精品欧美风情| 中文字幕日韩av综合精品| 亚洲午夜女主播在线直播| 欧美三级免费观看| 中文字幕成人精品久久不卡| 欧美激情久久久| 亚洲天堂一区二区三区| 日韩欧美在线视频日韩欧美在线视频| 青青草国产精品一区二区| 免费91麻豆精品国产自产在线观看| 日韩最新中文字幕电影免费看| 97超级碰在线看视频免费在线看| 亚洲性69xxxbbb| 亚洲电影在线观看| 97在线视频免费观看| www.日韩视频| 欧美性感美女h网站在线观看免费| 日韩国产精品视频| 欧美限制级电影在线观看| 精品香蕉一区二区三区| 91精品视频在线| 亚洲美女av电影| 欧美日韩国产精品专区| 欧美成人免费大片| 亚洲精品99久久久久| 午夜免费久久久久| 日韩精品视频在线免费观看| 国产精品精品一区二区三区午夜版| 国产精品美女久久久久久免费| 亚洲国产古装精品网站| 国产91精品久久久| 亚洲欧美日韩精品久久亚洲区| 精品久久久一区| 欧美亚洲另类激情另类| 亚洲国产精彩中文乱码av在线播放| 精品久久久久久中文字幕| 成人黄色在线播放| 欧美久久精品午夜青青大伊人| 久久精品视频亚洲| 亚洲影院色无极综合| 亚洲一区二区三区四区视频| 日韩毛片中文字幕| 久久中文久久字幕| 亚洲а∨天堂久久精品喷水| 日韩欧美第一页| 亚洲精品成人久久| 亚洲韩国欧洲国产日产av| 亚洲 日韩 国产第一| 国产伦精品免费视频| 国产精品久久久久久久久久久不卡| 亚洲国产精品嫩草影院久久| 国产va免费精品高清在线| 国产亚洲精品成人av久久ww| 欧美午夜性色大片在线观看| 亚洲精品综合久久中文字幕| 久久精品99久久久香蕉| 欧美日韩亚洲一区二区三区| 欧美激情中文字幕乱码免费| 亚洲欧美日韩国产中文| 在线中文字幕日韩| 在线免费看av不卡| 一本色道久久综合狠狠躁篇怎么玩| 欧美久久精品一级黑人c片| 成人免费网站在线观看| 欧美在线视频导航| 欧美天堂在线观看| 中文字幕不卡在线视频极品| 一区二区三区日韩在线| 欧美日韩国产激情| 一区二区亚洲欧洲国产日韩| 久久久久久亚洲精品| 日本中文字幕久久看| 日韩av最新在线观看| 国产精品夜间视频香蕉| 91精品视频在线播放| 欧美日韩福利视频| 91夜夜揉人人捏人人添红杏| 狠狠做深爱婷婷久久综合一区| 国产一区二区三区精品久久久| 亚洲理论电影网| 蜜臀久久99精品久久久久久宅男| 欧美日韩性生活视频| 91av视频在线| 欧美电影免费观看| 国产精品人人做人人爽| 久久人人爽人人爽人人片av高请| 日韩欧美在线视频免费观看| 日韩av大片在线| 91久久精品日日躁夜夜躁国产| 欧美肥老妇视频| 国内精品久久久久影院优| 一区二区欧美亚洲| 在线播放国产一区中文字幕剧情欧美| 久久免费视频观看| 精品福利在线视频| 日韩电影第一页| 亚洲在线观看视频| 色综合久久88色综合天天看泰| 日韩欧美高清视频| 亚洲精品国产福利| 中文字幕亚洲国产| 亚洲va欧美va国产综合久久| 日韩精品中文字幕在线观看| 青青草一区二区| 精品视频在线导航| 国产精品青青在线观看爽香蕉| 成人两性免费视频| 欧美视频一区二区三区…| 狠狠色噜噜狠狠狠狠97| 精品国产一区二区三区久久久狼| 国产精品成人一区二区| 亚洲成人免费在线视频| 亚洲淫片在线视频| 国产在线精品成人一区二区三区| 日韩欧美在线观看视频| 亚洲影院色无极综合| 成人网在线观看| 欧美性猛交xxxx乱大交| www.色综合| 久久av红桃一区二区小说| 亚洲色图在线观看| 国产精品久久久久久久久男| 69视频在线免费观看| 日韩女优在线播放| 福利微拍一区二区| 7m第一福利500精品视频| 奇米一区二区三区四区久久| 久久成人av网站| 国产婷婷成人久久av免费高清| 一区二区三区视频在线| 欧美理论片在线观看| 亚洲精品欧美极品| 欧美裸体视频网站| 国产亚洲欧美一区| 久久免费精品日本久久中文字幕| 热久久美女精品天天吊色| 精品国产鲁一鲁一区二区张丽| 欧美一级视频在线观看| 国产精品福利无圣光在线一区| 国产成人精品在线| 丰满岳妇乱一区二区三区| 日韩电影中文 亚洲精品乱码| 国产网站欧美日韩免费精品在线观看| 成人字幕网zmw|