abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 9
    dnes 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Komunita

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 8
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1916 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: velmi velky log file- ako ho shrinknut

    9.2.2011 13:21 mfo
    velmi velky log file- ako ho shrinknut
    Přečteno: 608×
    Zdravim Vas, Kolega sa na man obratil s jednoduchou otazkou. ako zmensit 5Gb log file. Situacia ja nasledovna, file size ~5GB, chce najakych 1 000 000 riadkov uchovat v subore. Mna napadlo len jedna jednoducha vec, ja viem nic moc: tail -n 1000000> new_file.txt >old_file.txt cat new_file.txt>old_file.txt no lenze spracovavat tailom 5Gb sa mi naozaj nechce - kvoli casu. Najde sa nejake elegantnejsie riesenie??

    Řešení dotazu:


    Odpovědi

    Ruža Becelin avatar 9.2.2011 13:40 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    Zkus logrotate.
    Jakub Lucký avatar 9.2.2011 13:42 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    man split
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    9.2.2011 15:10 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    tail -n 1000000> new_file.txt *>old_file.txt cat new_file.txt>old_file.txt
    Ale to je elegantné riešenie. Teda ... keď sa to fixne tak, aby to bolo správne

    tail -n 1000000 old_file.txt > new_file.txt ; mv new_file.txt old_file.txt

    Čo sa ti na tom nezdá? Dá sa to trocha optimalizovať, ak použiješ dd a vypočítaš si nejakú rozumnú hodnotu pre parameter skip= a obetuješ to, že prvý riadok vo výsledku asi nebude celý. Ale inak by som nad tým moc nešpekuloval.
    9.2.2011 21:23 Filip Šimek | Praha
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    Pokud jde o to, jak odlít z texťáku posledních milion řádků do nového souboru, tak tail bude optimální v tom smyslu, že mu stačí vstupní soubor přečíst jenom jednou.

    Pokud na to nestačí paměť stroje, dalo by se to udělat za pomoci dvou čtení ze souboru (v bashi):
    sed -n "$((`cat old_file.txt | wc -l` - 1000000)),$p" >new_file.txt
    Vnitřek spočítá řádky ve vstupním souboru, bashovský výraz od toho odečte milion a sed potom vypíše jenom řádky od čísla, které vyšlo, do konce souboru.
    9.2.2011 21:25 Filip Šimek | Praha
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    ...mezi druhýma uvozovkama a >new_file.txt chybí samozřejmě ještě jednou old_file.txt
    10.2.2011 13:41 Atom321 | skóre: 20
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    Nekomplikujte to, tail dovede procházet soubor od konce a nebude zpracovávat celých 5GB. Jednoduché řešení je správně:
    tail -n 1000000 > new_file.txt && mv new_file.txt old_file
    
    11.2.2011 21:14 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    Ale někde by to třeba zabralo :D

    "Šéfe, dneska odpoledne po mě už nic nechtějte, teď jdu a budu zpracovávat opravdu velkej, PĚTIGIGABAJTOVEJ soubor. Tailem."
    10.2.2011 15:08 kuka
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    5GB (asi to melo byt velke B) je velmi velky soubor? To bezi na nejakem starem telefonu nebo kde? Pocitam ze nez jsi napsal dotaz, mel by to ten tail udelane.
    10.2.2011 19:42 mato
    Rozbalit Rozbalit vše Re: velmi velky log file- ako ho shrinknut
    mno, asi hej :) a hlavne ked bezis na raidz ZFS:)
    
    $ du -m bigone
    5423    bigone
    $
    
    $ wc -l bigone
     61998618 bigone
    $
    
    
    $ time tail -1000000 bigone > keepem
    
    real    0m0.454s
    user    0m0.077s
    sys     0m0.267s
    
    $ wc -l keepem
      999999 keepem
    $
    
    islo to rychlo kvoli tomu, ze som zobral staru ukradnutu DB orange/eurotel cisel z textoveho suboru, ktoru som niekolkokrat catol do tohto velkeho (cat orange1 orage2 eurotel1 eurotel2 .. > bigone), co trvalo asi 10sekund; nasledne som urobil tail

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.