![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Hur får jag ett skript för att övervaka en ny fil med svans? | lstorm2003 | Shell-programmering och Skript | 4 | 06-06-2009 09:58 |
| Aix-skript för att kontrollera om en fil har uppdaterats | elmesy | AIX | 2 | 03-19-2009 04:28 |
| Script för att hitta filnamnet för icke matchande mönster | sujoy101 | Shell-programmering och Skript | 5 | 03-31-2008 10:10 |
| Arkiv söka efter mönster - script | rahulrathod | Shell-programmering och Skript | 3 | 02-16-2007 04:03 |
| Hitta manus med ingång mönster fil | iguanathompson | Shell-programmering och Skript | 8 | 02-06-2006 06:23 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Skriptet för att följa mönstret i loggfilen
Hej Alla,
Hur hittar man ett mönster i loggfilen & visa över och under linje till exempel i loggfilen, jag har många rader, när jag söker efter "kategori" det skulle visa ovan med endast ett fåtal parametrar som jag vill bara platsen namn & avdelning namn Tor 02 juli 11:05:23 2009 <sökväg> norr amer </ location> <Site> ohioc </ plats> <department> IT försäljning </ avdelning> <country> UAT </ land> Tor 02 juli 11:05:39 2009 IRD: INFO: (pack) Vi har ett problem Titelinformation. pp_HPD: kategori, är ogiltig Tor 02 juli 11:05:39 2009 anger du corrct information i nedanstående nummer jag kan få bara över linjen Løgn \u003d "filnamn" för att logga in $ Log göra cat $ log |sed -n-e '/ Kategori / (x, 1! p;)'-va | grep "" datum +% en "% b"% d `">> $ løgn / System_Log gjord men jag är inte få anpassade parmater från över linjen |
|
||||
|
användning "datum +% en"% b "% d" en gång räcker. inte placera den tillsammans med grep. du inte vill ringa datum varje gång sed passerar en linje till grep.
Kod:
datepattern=`date +%a' '%b' '%d` sed .... | grep $datepattern Kod:
awk 'BEGIN{
datepattern = "^"strftime("%a %b %d",systime())
}
/category/{
if (x ~ datepattern){
scrape(x)
}
getline l
if (l ~ datepattern){
# do something with below line
}
}
{
x=$0
}
function scrape(s){
o=s
gsub(/.*<location>/,"",o)
gsub(/<\/location>.*/,"",o)
print "location: ",o
gsub(/.*<department>/,"",x)
gsub(/<\/department>.*/,"",x)
print "dept: "x
}' file
|