![]() |
|
|
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 |
| 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 |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
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? |
|
||||
|
Script nem működik ..
Idézet:
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 |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|