我正在學習 bash 腳本,但我可能需要一些示例:我有 2 個或更多檔案,檔案 1 位于目錄 /home/usr/file1 中,其中包含以下資料:
83.149.9.216 - - [17/May/2015:10:05:07 0000] "GET /presentations/logstash-monitorama-2013/plugin/notes/notes.js HTTP/1.1" 501 2892 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
83.149.9.216 - - [17/May/2015:10:05:34 0000] "GET /presentations/logstash-monitorama-2013/images/sad-medic.png HTTP/1.1" 502 430406 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
83.149.9.216 - - [17/May/2015:10:05:57 0000] "GET /presentations/logstash-monitorama-2013/css/fonts/Roboto-Bold.ttf HTTP/1.1" 500 38720 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
同樣,目錄 /home/usr/usr2/file2 中的 file2 包含以下資料:
46.105.14.53 - - [17/May/2015:11:05:33 0000] "GET /blog/tags/puppet?flav=rss20 HTTP/1.1" 500 14872 "-" "UniversalFeedParser/4.2-pre-314-svn http://feedparser.org/"
5.102.173.71 - - [17/May/2015:11:05:13 0000] "GET /robots.txt HTTP/1.1" 200 - "-" "Mozilla/5.0 (compatible; MojeekBot/0.6; http://www.mojeek.com/bot.html)"
5.102.173.71 - - [17/May/2015:11:05:06 0000] "GET /projects/xdotool/ HTTP/1.1" 200 12292 "-" "Mozilla/5.0 (compatible; MojeekBot/0.6; http://www.mojeek.com/bot.html)"
208.91.156.11 - - [17/May/2015:11:05:05 0000] "GET /files/logstash/logstash-1.3.2-monolithic.jar HTTP/1.1" 404 324 "-" "Chef Client/10.18.2 (ruby-1.9.3-p327; ohai-6.16.0; x86_64-linux; http://opscode.com)"
好吧,如何使用bash腳本組合/讀取不同目錄中的所有資料。我希望這樣的輸出從該檔案中獲得回應 5xx:
83.149.9.216 [17/May/2015:10:05:07 0000 HTTP/1.1" 501
83.149.9.216 [17/May/2015:10:05:34 0000] HTTP/1.1" 502
46.105.14.53 [17/May/2015:11:05:33 0000] HTTP/1.1" 500
5.102.173.71 [17/May/2015:11:05:13 0000] HTTP/1.1" 500
etc...
uj5u.com熱心網友回復:
怎么樣
sort /home/usr/file1 /home/usr/usr2/file2
?
uj5u.com熱心網友回復:
我不確定您的問題是什么,但以防萬一,您不知道如何撰寫正則運算式來決議您的 Web 服務器日志:
#! /bin/bash
exec <<EOF
83.149.9.216 - - [17/May/2015:10:05:07 0000] "GET /presentations/logstash-monitorama-2013/plugin/notes/notes.js HTTP/1.1" 501 2892 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
83.149.9.216 - - [17/May/2015:10:05:34 0000] "GET /presentations/logstash-monitorama-2013/images/sad-medic.png HTTP/1.1" 502 430406 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
83.149.9.216 - - [17/May/2015:10:05:57 0000] "GET /presentations/logstash-monitorama-2013/css/fonts/Roboto-Bold.ttf HTTP/1.1" 500 38720 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
46.105.14.53 - - [17/May/2015:11:05:33 0000] "GET /blog/tags/puppet?flav=rss20 HTTP/1.1" 500 14872 "-" "UniversalFeedParser/4.2-pre-314-svn http://feedparser.org/"
5.102.173.71 - - [17/May/2015:11:05:13 0000] "GET /robots.txt HTTP/1.1" 200 - "-" "Mozilla/5.0 (compatible; MojeekBot/0.6; http://www.mojeek.com/bot.html)"
5.102.173.71 - - [17/May/2015:11:05:06 0000] "GET /projects/xdotool/ HTTP/1.1" 200 12292 "-" "Mozilla/5.0 (compatible; MojeekBot/0.6; http://www.mojeek.com/bot.html)"
208.91.156.11 - - [17/May/2015:11:05:05 0000] "GET /files/logstash/logstash-1.3.2-monolithic.jar HTTP/1.1" 404 324 "-" "Chef Client/10.18.2 (ruby-1.9.3-p327; ohai-6.16.0; x86_64-linux; http://opscode.com)"
EOF
while read -r line; do
if [[ $line =~ ^(((^|\.)[0-9]{1,3}){4})\ -\ -(\ \[[^\]] \])\ \"GET\ [^\"]*\"(\ [0-9]{3}).*$ ]]; then
for i in 1 4 5; do
printf %s "${BASH_REMATCH[$i]}"
done
printf '\n'
fi
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/393524.html
標籤:猛击
上一篇:如何在不使用eval的情況下對bash中的函式呼叫進行引數化?
下一篇:從while回圈匯出到csv檔案
