awk script files
----------------------------------
#!/bin/sh
# sh test.sh IISLogs/ex051114.log
#Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
#filter data 分离出指定的数据
awk -f ls.awk $1>$1.ls;
#pvs 获得pv统计
awk -f pv_ls_all.awk $1.ls|sort|uniq -c|sort -nr >$1.pvs;
#ips 分离出独立 ip 访问
awk -f ip_ls_all.awk $1.ls |sort|uniq -c|sort -nr >$1.ips;
#ipvs 获得独立 ip 访问数
awk '{print $2,$3}' $1.ips|sort|uniq -c|sort -nr >$1.ipvs;
echo 'end!';
#! awk -f ls.awk iis.log|sort|uniq -c|sort -nr>pv_feed_log.cvs
#Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
BEGIN{x=0}
function matchfeed(host,path)
{
return((host~/^feed\./)&&(path!~/\/|\./))||((path~/^\/feed\//)&&(path!~/\./))
}
{
#out date uri query status
if(($0!~/^#/)&&(matchfeed($18,$10)))
{
x++;
print $0
}
}
END{ print "#rowcounts "x }
通过useragent 检测访问者类型
#Fields: date time c-ip cs-username s-sitename s-computername
s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status
sc-win32-status sc-bytes cs-bytes time-taken
cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
BEGIN{x=0}
function IsBrowser(ua)
{
function IsOnline_Sub(ua)
{
function IsOffline_Sub(ua)
{
function IsSpider(ua)
{
function IsOther(ua)
{
{
END{print "rowcounts "x}
s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status
sc-win32-status sc-bytes cs-bytes time-taken
cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
BEGIN{x=0}
function IsBrowser(ua)
{
return (ua~/^Mozilla|^NetCaptor|^Opera|^Safari|^Microsoft\+Internet\+Explorer/);
}function IsOnline_Sub(ua)
{
return (ua~/^NewsGatorOnline|^Bloglines|^MagpieRSS|^http\:\/\/www\.gougou\.com\
+RSS\+Online|^kb\.Rmail|^Java|^Magpie|^Feedreader|^LiteFeeds|^FeedOnFeeds|^FeedLounge|^RssFwd/);
}+RSS\+Online|^kb\.Rmail|^Java|^Magpie|^Feedreader|^LiteFeeds|^FeedOnFeeds|^FeedLounge|^RssFwd/);
function IsOffline_Sub(ua)
{
return (ua~/^Potu\+Rss-Reader|^GreatNews|^Opera|^Safari|^KTX\+Reader|^NewsGator|
^FeedDemon|^lilina|^UniversalFeedParser|^SharpReader|^Desktop\+Sidebar|
^AppleSyndication|^Jakarta|^Drupal|^RSSor|^RssReader/);
}^FeedDemon|^lilina|^UniversalFeedParser|^SharpReader|^Desktop\+Sidebar|
^AppleSyndication|^Jakarta|^Drupal|^RSSor|^RssReader/);
function IsSpider(ua)
{
return (ua~/^Baiduspider|^FeedFetcher-Google|^SpiderMan|^sohu\+agent|^FeedBurner|
^SearchFox|^Googlebot|^msnbot|^RufusBot|^Feedster\+Crawler|^Drupal|^Yahoo-Blogs|
^Feed-Directory|^ping\.blo\.gs/);
}^SearchFox|^Googlebot|^msnbot|^RufusBot|^Feedster\+Crawler|^Drupal|^Yahoo-Blogs|
^Feed-Directory|^ping\.blo\.gs/);
function IsOther(ua)
{
return (ua~/^YahooFeedSeeker|^WordPress/)
}{
if(IsBrowser($19)){print $0;x++}
}END{print "rowcounts "x}
--
[:p] --fallseir.lee
没有评论:
发表评论