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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

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

[文本處理] 關(guān)于shell 語(yǔ)句執(zhí)行效率比較 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-05-06 15:47 |只看該作者 |倒序?yàn)g覽
本帖最后由 helloiac 于 2014-05-07 11:12 編輯

2013 shell 編程大賽第一題
有一小撮別有用心的人,他們會(huì)想辦法獲取論壇的用戶名列表,然后用弱密碼逐個(gè)嘗試每一個(gè)用戶名。針對(duì)這一情況,論壇程序會(huì)把每一次登陸失敗的記錄放在日志里面。請(qǐng)編寫腳本找出嘗試登陸失敗次數(shù)最多的 top 10 的IP地址和登陸失敗次數(shù)。
<?PHP exit;?>        1357510682        oahgpbzzl        rz6***7W                91.224.246.183
<?PHP exit;?>        1357511540        yvbykozi        ZRS***38                188.165.205.101
<?PHP exit;?>        1357511656        AlexanderZS        xV***R3                94.180.210.229
<?PHP exit;?>        1357512059        deefadvirmdak        E9q***kV                111.73.45.49
<?PHP exit;?>        1357513658        michaelkorstian        Vq2***jK                91.224.247.24
<?PHP exit;?>        1357513659        michaelkorsbentian        Vq2***jK                91.224.247.24
<?PHP exit;?>        1357513953        woodhzyl        fK***bc                175.42.46.63
<?PHP exit;?>        1357516630        Cruirmtig        c9q***rZ                128.72.115.220
<?PHP exit;?>        1357516641        payprophare        8Ct***tJ                220.250.58.171
<?PHP exit;?>        1357517851        liszdnjn        ZRS***38                142.4.117.83
<?PHP exit;?>        1357518471        asdfgt26z        fK***bc                58.22.19.16
<?PHP exit;?>        1357518701        lKiSrHkBeR        0w3***uq                27.159.207.4
<?PHP exit;?>        1357518746        zAoPoTeXcL        0w3***uq                27.159.207.4
<?PHP exit;?>        1357518927        asdfgt25w        fK***bc                36.251.6.156
<?PHP exit;?>        1357519355        chuntyaxonync        tgg***9X                117.26.200.33
<?PHP exit;?>        1357519365        xiyjizqv        ZRS***38                192.74.224.245
<?PHP exit;?>        1357521148        asdfgt23a        fK***bc                175.42.46.164
<?PHP exit;?>        1357521210        jeffycf        df22b31d***8d9a3                15.211.201.81
<?PHP exit;?>        1357521220        jeffycf        df22b31d***8d9a3                15.211.201.81
  1. [cbb@ cbb-HP shell-contest]$ ls -sh
  2. total 1.6G
  3. 4.0K 1-1.sh  4.0K 1.sh  4.0K 2.sh  4.0K file.list  1.6G illegal.log  4.0K time.sh  8.0K wls_ms1.out
  4. [cbb@ cbb-HP shell-contest]$ cat 1.sh
  5. #!/bin/bash
  6. time0=`date +%s%N|cut -c 10-13`
  7. awk '{a[$6]++}END{for(i in a)print a[i],i|"sort -n|tail -10"}' illegal.log  
  8. time1=`date +%s%N|cut -c 10-13`
  9. s=$(($time1-$time0))
  10. echo "time is ${s:0:1}.${s:1} sec"
  11. [cbb@ cbb-HP shell-contest]$ cat 1-1.sh
  12. #!/bin/bash
  13. time0=`date +%s%N|cut -c 10-13`
  14. awk '{a[$6]++}END{for(i in a)print a[i],i}' illegal.log |sort -n |tail -10
  15. time1=`date +%s%N|cut -c 10-13`
  16. s=$(($time1-$time0))
  17. echo "time is ${s:0:1}.${s:1} sec"
  18. [cbb@ cbb-HP shell-contest]$ bash 1.sh
  19. 535572 74.91.23.27
  20. 620136 222.186.26.26
  21. 648324 111.73.45.13
  22. 761076 142.4.117.83
  23. 789264 220.250.58.172
  24. 817452 220.250.52.90
  25. 845640
  26. 845640 220.250.58.171
  27. 1014768 220.250.58.170
  28. 1973160 220.250.52.66
  29. time is 4.76 sec
  30. [cbb@ cbb-HP shell-contest]$ bash 1-1.sh
  31. 535572 74.91.23.27
  32. 620136 222.186.26.26
  33. 648324 111.73.45.13
  34. 761076 142.4.117.83
  35. 789264 220.250.58.172
  36. 817452 220.250.52.90
  37. 845640
  38. 845640 220.250.58.171
  39. 1014768 220.250.58.170
  40. 1973160 220.250.52.66
  41. time is 3.72 sec
復(fù)制代碼
我看到兩種不同的寫法
  1. awk '{a[$6]++}END{for(i in a)print a[i],i|"sort -n|tail -10"}' illegal.log  
  2. awk '{a[$NF]++}END{for(i in a)print i,a[i]}' illegal.log | sort -nrk +2 |head -10
復(fù)制代碼
問題:
       為啥第一種寫法比第二種寫法執(zhí)行速度慢

論壇徽章:
2
白羊座
日期:2013-11-18 19:52:42辰龍
日期:2014-09-07 07:46:06
2 [報(bào)告]
發(fā)表于 2014-05-06 15:53 |只看該作者
目測(cè)外面會(huì)快一點(diǎn)點(diǎn)

論壇徽章:
93
2015年辭舊歲徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年紀(jì)念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季節(jié)之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季節(jié)之章:冬
日期:2019-10-10 10:57:17CU大;照
日期:2014-02-21 14:22:52CU大;照
日期:2014-03-13 10:40:30CU大;照
日期:2014-02-21 14:23:15
3 [報(bào)告]
發(fā)表于 2014-05-06 16:14 |只看該作者
咦,有這事?慢多少?會(huì)不會(huì)只是一兩次運(yùn)行的一點(diǎn)點(diǎn)偶然因素影響的?

論壇徽章:
6
摩羯座
日期:2013-08-24 10:43:10獅子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午馬
日期:2014-09-28 16:06:0015-16賽季CBA聯(lián)賽之八一
日期:2016-12-19 13:55:0515-16賽季CBA聯(lián)賽之天津
日期:2016-12-20 14:01:23
4 [報(bào)告]
發(fā)表于 2014-05-06 21:42 |只看該作者
樓主兩天命令處理的文本多大?
如果文本很大
第一條命令比第二條命令多了一個(gè)判斷語(yǔ)句$6,雖然判斷很簡(jiǎn)單,但會(huì)根據(jù)判斷次數(shù)累加起來。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2014-05-07 11:14 |只看該作者
回復(fù) 4# cao627
即使去掉了多加的$6判斷也還是比較慢,看我的頂樓的測(cè)試

   

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2014-05-09 00:11 |只看該作者
為啥不用time awk...來測(cè)時(shí)間,而要自己寫一個(gè)取命令執(zhí)行時(shí)間的腳本?
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP