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 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

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

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 3
    dnes 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 0
    včera 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    včera 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

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

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    včera 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2986 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    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: 302×
    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ákno • Nahoru

    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.