The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



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
parsing a karakterlánc egy shell script asutoshch Shell programozás és Scripting 19 05-26-2008 10:18 PM
shell script parsing a sed jjamd64 A UNIX a dummies Kérdések és válaszok 5 12-11-2007 04:51 PM
Feldolgozás egy sort Héjprogram unishiva Shell programozás és Scripting 3 11-01-2007 04:30 PM
Súgó parsing a CSV fájl Héjprogram mihirk Shell programozás és Scripting 10 06-24-2007 11:58 AM
Feldolgozás egy fájlt Héjprogram sendhilmani123 Shell programozás és Scripting 4 11-30-2006 02:29 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 02-08-2007
gurpreet470 gurpreet470 is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2007
Hozzászólások: 4
Shell írással parsing 300Mb naplófájlban ..

Viszonylag új vagyok a Shell scripting.
Írtam egy script-értelmezéshez egy nagy fájlt. A logika a következő:
Kívül sok más haszontalan stuffs sok előfordulása <abc> és a megfelelő </ abc> tagek közé. (Mindegyik jól záródó)
Saját követelmény az, hogy kiderül az egyik tag (mondjuk <data> 1234 </ data>) zárt között bárhol <abc> </ abc> tagek közé.
Ha találnak, nekem van-hoz készlet 4. tétel alatt <abc> tag egy ideiglenes fájlt.

Egy tipikus log file így néz ki:

************************
<pqr>
......
Néhány adat
néhány egyéb adat
.........
</ PQR>
Egyes szöveges adatok
...........
<abc>
blah
blah
.....
<id> 12.345 </ id>
-bla ...
......
<data> 1234 </ data>
</ ABC>
........
.....
.....

<abc>
blah
blah
.....
<id> 12.345 </ id>
-bla ...
...
</ ABC>
..........
<rst>
...
...
</ RST>
Egyes szöveges adatok ...

****************************

Output a script kell <id> 12.345 </ id> tárolt néhány ideiglenes fájlt.

A szkript I am using is:

********************

rm-f temp.log
filename \u003d $ 1
OK \u003d 0

miközben olvasni 1.sor
tesz


if [ "$ 1.sor" \u003d "<abc>"], majd
Az OK \u003d 1
fi

if [ "$ OK"-eq 1], majd
echo $ 1.sor>> temp_file
fi

if [ "$ 1.sor" \u003d "</ abc>"], majd
OK \u003d 0
fi

if [ "$ OK"-eq 0]; majd

if [-f temp_file], majd

miközben olvasni 2.sor

tesz

if [ "$ 2.sor" \u003d "<data> 1234 </ data>"], majd

macska temp_file | awk '(if (NR \u003d\u003d 4) (print ($ 0)))'>> temp.log

fi

kelt <temp_file

rm temp_file

fi

fi

kelt <$ filename.log

*******************************

A <abc> </ abc> tagek jöjjön az utolsó adag általában (nem mindig), valahol követően 500.000 sorok ... , és általában, a fájl mintegy 700.000 sor.

A szkript fut, és folyamatosan fut, és én meg 2 nyilvántartásokkal rendelkeznek, amelyeket a kezdeti sorok tárolt ideiglenes fájlt. De miután mintegy 6-7 perc, script hirtelen végződik, mondván:
scriptname.sh teszt: érv várható.

Tud valaki segíteni ebben?
  #2 (permalink)  
Old 02-08-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
Addict
  
 

Join Date: Jan 2007
Helyszín: Варна, България / Milano, Olaszország
Hozzászólások: 2.926
*GNU Az awk * megoldás:


Kód:
awk '/data>1234/{print $5}' RS="<abc>" FS="\n" infile

  #3 (permalink)  
Old 02-09-2007
gurpreet470 gurpreet470 is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2007
Hozzászólások: 4
Script nem működik ..

Idézet:
Originally Posted by radoulov
*GNU Az awk * megoldás:


Kód:
awk '/data>1234/{print $5}' RS="<abc>" FS="\n" infile
Én igazán lenyűgözte az awk hatalom ..
Elolvasása után meg a választ, olvasd el néhány cikkek awk.
Valahogy a script még mindig nem működik, és befejezve azzal ..
**********************
awk: rekord `/ response>
00:27 :...' Pé Túl hosszú
rekordszám 22
**********************
Én miután nagy reményeket fűzött a most

Köszönöm
  #4 (permalink)  
Old 02-09-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
Addict
  
 

Join Date: Jan 2007
Helyszín: Варна, България / Milano, Olaszország
Hozzászólások: 2.926
Próbálja meg, hogy a rekordok rövidebb. Ön azt mondta, hogy a <abc> </ abc> tagek jön az utolsó adag után mintegy 500.000 sor így az első igazán nagy rekord . Tudod, hogy ez rövidebb, beleértve más tags / strings (hogy már a beginig a fájl) a RS: például az RS \u003d "<abc> | <other_tag>". Vagy ha úgy jobban tetszik, küldj egy másolatot a zip fájl magántulajdonban, így adhat egy esélyt
BTW, mi a Awk változat?
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 11:42 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0