Portál AbcLinuxu, 10. května 2025 01:52
cat soubor | grep errorje samozrejme zbytecny, pouzij
grep error soubor
. Muzes si vytvorit skript ala logrotate
, ktery po vyhledani puvodni soubor prejmenuje na neco jako soubor.1
atd.
dd if=file.dat bs=1 skip=$last_pos
a ukladať si tú veľkosť súboru niekam?
tail
. Je potřeba, aby ale neustále běžel. Stačí jednou ten soubor přechroustat grep
em 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
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 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).
tail
u 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 ...
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.