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 15:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | IT novinky

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 14
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 163 hlasů
     Komentářů: 12, poslední včera 13:00
    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: 553×
    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.