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í
×
    včera 21:55 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.

    Ladislav Hagara | Komentářů: 1
    včera 10:22 | Komunita

    Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání

    … více »
    Ladislav Hagara | Komentářů: 6
    6.4. 05:33 | Pozvánky

    Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout

    … více »
    bkralik | Komentářů: 3
    5.4. 23:33 | Nová verze

    Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.

    Ladislav Hagara | Komentářů: 1
    5.4. 23:00 | Zajímavý projekt

    VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.

    NUKE GAZA! 🎆 | Komentářů: 8
    5.4. 05:22 | Zajímavý software

    Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 18
    5.4. 04:11 | Zajímavý software

    Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.

    Ladislav Hagara | Komentářů: 1
    4.4. 04:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).

    Ladislav Hagara | Komentářů: 21
    3.4. 16:44 | Nová verze

    ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.4. 12:33 | Nová verze

    DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.

    NUKE GAZA! 🎆 | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (23%)
    Celkem 1236 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: zpracovani souboru awkem

    3.1.2006 16:42 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
    zpracovani souboru awkem
    Přečteno: 120×
    Dobrý den. Řeším následující problém: Mám takovýto výpis v souboru:
      uzivatel1 in                                       :             94M
      uzivatel1 out                                      :             30M
      uzivatel2 in                                       :            315M
      uzivatel2 out                                      :             45M
      uzivatel3 in                                       :            169M
      uzivatel3 out                                      :             50M
    
    Potřeboval bych dostat do souboru toto (tzn. sečíst odeslaná i přijatá data a zobrazit takto):
    uzivatel1;	124
    uzivatel2;	360
    uzivatel3;	219
    
    Zkoušel jsem to pomocí AWKu, ale hrozně v tom tápu. Neporadil by někdo prosím? Dekuji

    Odpovědi

    3.1.2006 18:26 razor | skóre: 33
    Rozbalit Rozbalit vše Re: zpracovani souboru awkem
    Pokud by si to chtěl v pythonu, tak by to šlo nějak takhle (netvrdím, že by to nešlo napsat lépe :-) )
    import re
    
    input = file('souborA', 'r')
    output = file('souborB', 'w')
    
    result = {}
    try:
    	for line in input.readlines():
    		splitted = re.split('\s', line)
    		key = splitted[0]
    		value = int(re.split('\D', splitted[3])[0])
    		if result.has_key(key):
    			result[key] = result[key] + value
    		else:
    			result[key] = value
    	for pairs in result.items():
    		output.write(pairs[0] + ';\t' + str(pairs[1]) + '\n')
    finally:
        input.close()
        output.close()
    3.1.2006 20:37 Bones | skóre: 15 | blog:
    Rozbalit Rozbalit vše Re: zpracovani souboru awkem

    AWK neumim (ale chci se ho nekdy naucit), tak ti alespon dam linky na dokumentaci.

    Ceska: Tam najdes dalsi odkazy.
    Anglicka: manualova stranka, info dokument, ci GAWK manual
    3.1.2006 20:55 Franta Hanzlik
    Rozbalit Rozbalit vše Re: zpracovani souboru awkem
    Nepopisujete presne strukturu vstupnich dat, takze zhruba :
    awk 'BEGIN{MU="";SUM=0}{SUM1=gensub(/[^0-9]$/,"",1,$NF) + 0; if (MU == $1 || MU == ""){MU=$1;SUM+=SUM1} else {printf "%s - %i\n",MU,SUM; SUM=SUM1;MU=$1}}END{printf "%s - %i\n",MU,SUM}'
    
    - nebo udelat awk script (a chmod +x) :
    #!/bin/awk -f
    
    BEGIN{MU="";SUM=0}      # MU: Minuly Uzivatel, SUM: jeho soucet dat
    {SUM1=gensub(/[^0-9]$/,"",1,$NF) + 0    # na konci posledni polozky (=objem) urizni vse mimo cislice (tady rezu 'M')
    if (MU == $1 || MU == ""){      # uzivatel na predchozi radce je stejny jako na aktualni nebo zacinam
            MU=$1;SUM+=SUM1
    } else {
            printf "%s - %i\n",MU,SUM; SUM=SUM1;MU=$1} #zmena, vypisuji a minuly=aktualni
    }
    END{printf "%s - %i\n",MU,SUM} # a dotisk posledniho po zpracovani souboru
    
    4.1.2006 01:41 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Proč AWK?

    AWK je velmi dobrá věc, ale je to trochu jednodušší s drobnou pomocí sedu:


    cat vstup.txt | \
    sed 's/ *\([^ \t]*\).*:[ \t]*\([0-9]*\).*/\1;\t\2/' | \
    awk '{ if ( par % 2 ) { sum += $2; print $1 "\t" sum; } else { sum = $2; } par++; }' \
    > vystup.txt


    Tady se jasně dělí úlohy: sed edituje, awk počítá. Doufám, že to takhle stačí a že to pomůže. Pokud potřebujete ještě něco jiného, stačí říct. :-)

    4.1.2006 02:22 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: zpracovani souboru awkem
    To množství dat bude vždycky v megabajtech? Pokud ne, zde máte další řešení v pythonu:
    #!/usr/bin/env python
    import re
    
    infile = open('infile.dat')
    regexp = re.compile(r'^\s+(\S+) (in|out)\s+:\s+(\d+)(.*)')
    result={}
    for line in infile.xreadlines():
      user, direction, amount, unit = re.search(regexp, line).groups()
      amount = int(amount)
    
      if 'G' in unit:
        amount *= 1024*1024*1024
      elif 'M' in unit:
        amount *= 1024*1024
      elif 'k' in unit:
        amount *= 1024
    
      try:
        result[user] += amount
      except KeyError:
        result[user] = amount
    
    infile.close()
    
    outfile = open('outfile.dat', 'w')
    for user, amount in result.items():
      outfile.write('%s;\t%d\n' %(user, amount))
    outfile.close()
    
    A vůbec - tohle by přece měl dělat ten původní program, který vygeneroval ten soubor. Nebude lepší spíš zasáhnout do zdrojáku než parsovat výstup? Hrozí nebezpečí, že se časem změní formát nebo že bude potřeba nějaká informace, kterou původní program měl, ale nevypsal.
    4.1.2006 16:19 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
    Rozbalit Rozbalit vše Re: zpracovani souboru awkem
    Možná by stálo ze to zasáhnout do zdrojáků toho programu (ipac-ng), ale to už je totálně nad moje znalosti...
    4.1.2006 16:19 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
    Rozbalit Rozbalit vše Re: zpracovani souboru awkem
    Všem mockrát děkuji!

    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.