Portál AbcLinuxu, 10. května 2025 01:52

Dotaz: otevreni souboru

8.1.2007 20:44 jooke | skóre: 9 | Opava
otevreni souboru
Přečteno: 142×
Odpovědět | Admin
Zdravim, potreboval bych poradit s vhodnym otevrenim souboru. Muj soubor ma cca 80 MB a potrebuji v nem najit error. Jednoduse se nabizi cat soubor | grep error. Problem je v tom ze soubor porad narusta a ja bych chtel kontrolovat jen prirustky. Mam napad ze si pokazde kontrole souboru na error udelam do souboru nejakou znacku napr. echo ### >> soubor. Problem je v tom ze nevim, jak dat napr. tail soubor a projde se vse do znacky, nebo lepe, ze se cast textu do moji znacky nekam zapise a pak s nim uz muzu v klidu pracovat. Dekuji za kazdou pomoc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.1.2007 20:56 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: otevreni souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
cat soubor | grep error
je samozrejme zbytecny, pouzij grep error soubor. Muzes si vytvorit skript ala logrotate, ktery po vyhledani puvodni soubor prejmenuje na neco jako soubor.1 atd.
8.1.2007 22:20 jooke | skóre: 9 | Opava
Rozbalit Rozbalit vše Re: otevreni souboru
logrotate neni pro me resenim. Potrebuji at je to porad jeden soubor, nechci at tam mam pak stovky souboru. Proste jen ho rozdelit od znacky dal na novy soubor. Resil jsem to driv pomoci diff stary novy >>soubor, to mi fungovalo, ale pak jsem narazil na pametove naroky. Potrebuji at to zere co nejmene memory. Otevirat velke soubory na serveru je neprijemne...
8.1.2007 23:06 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: otevreni souboru
Nepomohlo by niečo ako dd if=file.dat bs=1 skip=$last_pos a ukladať si tú veľkosť súboru niekam?
8.1.2007 22:46 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: otevreni souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na přírustky se právě hodí tail . Je potřeba, aby ale neustále běžel. Stačí jednou ten soubor přechroustat grepem a najít tam ty errory a potom spustit a nechat běžet něco jako tento hlídací skript, který už bude kontrolovat jen ty přírůstky a dělat, co je pořeba ...
tail -n 0 -F KontrolovanySoubor | grep error | while read radek; do
  # zpracovani radku (prirustku) s errorem ...
done
8.1.2007 23:33 jooke | skóre: 9 | Opava
Rozbalit Rozbalit vše Re: otevreni souboru
Jsou to opravdu dobre napady, jak s tim dd, tak i s tim tailem. Libi se mi ten tail, ale vyhovovalo by mi proste pustit v cronu urcity skript co hodinu, ktery overi prirustek a skonci. Mam trochu strach nechat viset proces na serveru. Staci mi kdyz najdu na kterem radku je moje znacka, a pak uz treba pomoci awk vypisu vse od znacky do konce radku. Jenom nevim, jak skloupit tail s tim aby ukazoval cisla radku a navic abych se vlezl do limitu zobrazenych radku kde se znacka nachazi. Napr. tail -500 soubor | grep znacka, bude li v tom rozmezi znacka je to ok, ale stejne nezjistim radek a navic muzu najit vice znacek, kdyz bude rozsah velky, nebo naopak zadnou. Zda se to trivialni problem, ale nic co by me pozadavky splnovalo me zatim nenapadlo :-(
8.1.2007 23:45 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: otevreni souboru
A čo použiť wc -l na získanie počtu riadkov a potom použiť niečo ako tail_lines = new_lines - old_lines. Ale to bude asi pri veľkom súbore dosť pomalé (ale asi nie pomalšie ako tail bez --follow).
9.1.2007 01:23 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: otevreni souboru
tailu se já nebojím, přesně takto, jak sem naznačil, tak to používám. Nevím, čeho se bojíš, toto je Linux a nechat běžet proces na serveru ..., vždyť od toho to je, aby to makalo (samozřejmě, trochu s rozumem). A jestli se bojíš zatížení, tak to je minimální a jestli budeš grepovat jen errory a nebudeš jich mít mraky za vteřinu, tak to PC určitě ustojí.

Jinak na výběr nějakých řádků (od - do) můžeš použít třeba i sed ...
9.1.2007 07:02 Tomáš Janeček | skóre: 12
Rozbalit Rozbalit vše Re: otevreni souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mit jeden obrovsky soubor neni vhodne. Cokoliv s nim budes delat (cat, tail, znacky...cokoliv) bude hrozne narocne
Něco děsně chytrýho a vtipnýho
9.1.2007 09:26 jooke
Rozbalit Rozbalit vše Re: otevreni souboru
Presne tak, aproto ho potrebuji rozdelit. S tim while read mate pravdu, ale ja to potrebuji na vic serveru a nechci kontrolovat ze to tam opravdu bezi. Cron mi v tomhle dava jistotu ze se to v urcity cas spusti.
Milan 9.1.2007 10:52 Milan "Nemo" Cingroš | skóre: 27 | blog: Nautilus | Plzeň
Rozbalit Rozbalit vše Re: otevreni souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podívej se na logtail, to by mohlo být to co hledáš.
Soutěžte na české LinuxWiki a vyhrajte plyšového Tuxe.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.