![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| grep'ing egy fájlt csak egy bizonyos üzenet jelenik meg | pallak7 | Shell programozás és Scripting | 3 | 04-23-2009 12:48 PM |
| grep'ing egyedi könyvtárak, és a kimeneti fájlok mozgatásához | JayC89 | Shell programozás és Scripting | 1 | 12-06-2008 03:37 AM |
| Felgyorsítása a Shell Script (find, grep és a loop) | Dave Stockdale | A UNIX a dummies Kérdések és válaszok | 8 | 08-11-2008 05:36 AM |
| Felgyorsításáról feldolgozása egy fájlt | dlam | Shell programozás és Scripting | 4 | 07-19-2008 01:47 PM |
| felgyorsításáról összeállításához a Sun Solaris környezetre | swamymns | Shell programozás és Scripting | 2 | 07-12-2006 01:06 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Nekem van egy fájl, amely 20-80 + MB méretű, ami egy bizonyos típusú naplófájl. Ez naplók egyik folyamatok és ez a folyamat több szálon. Ezért a naplófájl egyfajta rendetlenség. Íme egy példa: A naplófájl néz ki: "DATE TIME - Thread ID - részletek", és egy új fájl jön létre minden egyes nap Idézet:
A munkamenet tarthat-tól 30 másodperc és 4 perc múlva (~ 1200 sor) a naplófájl, és ott lehet akár 20 egyidejű üléseket. Most van valami, ami működik - bár elég lassan. Én végül grepping és sedding a fájlt újra és újra. Ha a fájl nagyobb lesz, akkor vesz egy tetemes időt. Remélem, hogy itt valaki, aki tud nekem segíteni jobbá tenni ezt. Ha lehetséges, szeretném használni bash. Köszönöm, Eric Itt a kód van, ami működik, de _slow_ Kód:
if [[ -e "$log_file" ]]
then
echo "parsing: "$log_file
grep "starting session" $log_file | while read line
do
thread=`echo $line | cut -d' ' -f4`
sessiontype=`echo $line | cut -d' ' -f6`
sessionnumber=`echo $line | cut -d' ' -f7`
echo " first line of session: "${line:0:25}"..."
line2=`echo - $thread - $sessiontype $sessionnumber shutting down`
echo " last line of session: "${line2:0:25}"..."
sed -n "/$line/,/$line2/p" $log_file | grep " - $thread - ">session.$thread.$sessiontype.$sessionnumber
done
....
Ez ad nekem néhány kép, amit használ a fenti példa napló hoznának létre az alábbiak szerint: Idézet:
|
|
||||
|
Feltételezve, hogy az első sorban a munkamenet végződik "kiindulási session" próbálja meg ezt (nem tesztelt): Kód:
awk '{
!a[$4]{a[$4]=$4; n[$4]="session."$4"."$6"."$7}
a[$4]{print > n[$4]}
' file
Használja nawk / vagy usr/xpg4/bin/awk Solaris Ha hibát. Üdvözlettel |
|
||||
|
Elnézést, de kellett volna pontosabb. A kezdő sorok minden ülésszak végén valami hasonló:
20090409 000122 - BD0 - Megrendelés kezdődő ülésén a 123 kliens 12 port 34 20090409 000123 - EF0 - Megrendelés kezdődő ülésén a 234 kliens 347 port 38 ... És mind a kliens és a kikötői dinamikus értékek. Igen, kapok hibák - Én ezt a futás alatt cygwin, így nem könnyű hozzáférést nawk. |
|
||||
|
Próbáld ki ezt --
$ Sort-k 4 logfile | awk 'NR \u003d\u003d 1 (prev \u003d $ 4; txt \u003d "session." $ 4 "." $ 6 "." $ 7; printf ( "% s \ n% s", txt, $ 0); getliine) (if (prev! ~ $ 4) (txt \u003d "session." $ 4 "." $ 6 "." $ 7; printf ( "% s \ n% s", txt, $ 0); prev \u003d $ 4) else (print $ 0; prev \u003d $ 4)) ' ad valami ilyesmi -- session.11F.Processing. 20090409 000127 - 11F - Processing20090409 000.127 - 11F - Feldolgozás 20090409 000127 - 11F - Query 543 induló ülés session.BD0.More.Processing 20090409 000122 - BD0 - Több Processing20090409 000.125 - BD0 - További feldolgozás 20090409 000126 - BD0 - Rendelési 123 leállítása 20090409 000122 - BD0 - Rendelési 123 induló ülés 20090409 000122 - BD0 - Feldolgozás 1 20090409 000124 - BD0 - Feldolgozás 2 session.DD1.Cancel.345 20090409 000125 - DD1 - Mégsem 345 induló session20090409 000.125 - DD1 - Feldolgozás 20090409 000126 - DD1 - Feldolgozás 2 session.EF0.Order.234 20090409 000123 - EF0 - Rendelési 234 induló session20090409 000.124 - EF0 - Feldolgozás 20090409 000125 - EF0 - Feldolgozás egészségére, Devaraj Takhellambam |
![]() |
| Könyvjelzõk |
| Címkék |
| bash, grep, sed |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|