2006/02/15

learn:学习linux以前的脚本

tag:awk


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)
{
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/);
}
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/);
}
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/);
}
function
IsOther(ua)
{
return (ua~/^YahooFeedSeeker|^WordPress/)
}
{

if(IsBrowser($19)){print $0;x++}
}
END
{print "rowcounts "x}

















--
[:p] --fallseir.lee

没有评论: