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 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    včera 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 3
    12.9. 14:00 | Nová verze

    Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.

    Ladislav Hagara | Komentářů: 0
    12.9. 12:00 | Zajímavý článek

    Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).

    🇵🇸 | Komentářů: 20
    12.9. 05:33 | Bezpečnostní upozornění

    Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.

    Ladislav Hagara | Komentářů: 0
    11.9. 22:00 | Komunita

    V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.

    Ladislav Hagara | Komentářů: 14
    11.9. 17:33 | Nová verze

    Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    11.9. 15:33 | IT novinky

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

    Ladislav Hagara | Komentářů: 0
    11.9. 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ářů: 7
    10.9. 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
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (82%)
     (6%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 171 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Dotaz: Bash aritmeticky priemer

    6.8.2007 10:50 Mountains
    Bash aritmeticky priemer
    Přečteno: 948×
    Zdravim, potreboval by som urobit skript ktory nacita hodnoty zo suboru a urobi s nich aritmeticky priemer. Dakujem za pomoc.

    Odpovědi

    6.8.2007 11:40 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Tady máš tři různé algoritmy včetně generování testovacího souboru a měření doby výpočtu.
    #!/usr/bin/python
    import random, time
    
    print 'Wait ...'
    fw = file('cisla.txt', 'w')
    for i in range(1000000):
        fw.write('%f\n' %(random.random()))
    fw.close()
    
    start = time.time()
    s = 0
    lines = 0
    for line in file('cisla.txt'):
        s += float(line)
        lines += 1
    print s/lines
    print time.time() - start
    
    start = time.time()
    s = 0
    for i, line in enumerate(file('cisla.txt')):
        s += float(line)
    print s/(i + 1)
    print time.time() - start
    
    start = time.time()
    numbers = [float(line) for line in file('cisla.txt')]
    print sum(numbers)/len(numbers)
    print time.time() - start
    
    6.8.2007 11:47 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Algoritmus vidím jen jeden, zato ve třech implementacích (z toho jedné tak zoufale paměťově neefektivní (aniž by to bylo vyváženo časovou náročností), že by se to dalo používat při výuce jako odstrašující příklad).
    6.8.2007 12:19 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Pro případ, že by se někdo špatně vyspal, uvádím ještě tohle (bez ošetřování chyb):
    #include<stdio.h>
    
    int main(void){
        FILE* fr;
        double f, s = 0, lines = 0;
    
        fr = fopen("cisla.txt", "r");
        while (fscanf(fr, "%lf\n", &f) != EOF){
            s += f;
            lines += 1;
        }
        printf("%12.12f\n", s/lines);
        fclose(fr);
        return 0;
    }
    
    Je to cca 3-4 krát rychlejší než v pythonu.
    6.8.2007 12:23 Mountains
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Dakujem za Vasu ochotu a pomoc
    6.8.2007 12:44 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    No, kedze su prazdniny, tak to domaca asi nebude, hoci to inak vykazuje vsetky jej znaky.

    Najvacsi problem je dostat hodnotu z podshellu von a trik je spocitat priemer na desatinne miesta, hoci to bash nevie.
    #!/bin/bash
    set -- `while read n; do
      sucet=$((sucet + n))
      lines=$((lines + 1))
      echo $sucet $lines
    done <subor.in | tail -n -1`
    
    sucet=$1
    lines=$2
    
    echo $((sucet / lines))
    # # ak to chces na 2 destinne miesta:
    # avgfrac=$((sucet * 100 / lines))
    # echo ${avgfrac%??}.${avgfrac: -2}
    
    
    If you hold a Unix shell up to your ear, you can you hear the C.
    6.8.2007 12:47 lada
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    pokud to ma byt ciste v shellu tak asi takto: #!/bin/sh

    text=`cat soubor_dat |tr '\n' '+'`0
    pocet=`cat soubor_dat |wc -l`
    prumer=`echo "($text)/$pocet"|bc -l`
    echo $prumer
    6.8.2007 13:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Tak tomu říkám řešení čistě v shellu… :-)
    6.8.2007 13:49 Zdenek
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Zatim je to ovsem nejbliz k zadani. A nepochybne to spravne *nix reseni :-)
    6.8.2007 14:35 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Potrebuje to tr a bc. Riesenie CISTO v bashi mam zatial iba ja :-)
    If you hold a Unix shell up to your ear, you can you hear the C.
    6.8.2007 14:50 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Dá se to napsat třeba i takhle:
    #!/bin/awk -f
    BEGIN{lines=0;s=0;}
    {lines++;s+=$1;}
    END{print "prumer je", s/lines;}
    
    no a awk už tak skoro "v shellu" je, že? Nebo teda v posixu. Teda *nixu. Teda ... no prostě je to víc v shellu než třeba bc. A určitě je to mnohem blíž shellu než python. Ale asi je to trochu dál shellu než třeba "tail". To jsou problémy ...
    6.8.2007 15:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Já si hlavně myslím, že zadání typu "udělejte XY v ZW" jsou dobrá akorát tak pro školní úlohy. V praxi je daleko užitečnější umět zvolit vhodný nástroj pro danou úlohu (zde podle okolností např. awk, bc, perl, python nebo C), než se snažit ji za každou cenu udolat nevhodně zvoleným nástrojem.
    6.8.2007 14:24 pavel
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Já řeším podobný problém, ale data mám ve sloupcích s oddělovačem ; Jak sčítat data ve sloupci?
    6.8.2007 14:47 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    awk(1)
    6.8.2007 15:26 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Takže bude tolik průměrů, kolik je sloupců?
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import random, time
    
    radky = 5
    sloupce = 10
    
    fw = file('cisla.txt', 'w')
    for i in range(radky):
        cisla_str = ['%f' %(i*j) for j in range(sloupce)]
        radek = ';'.join(cisla_str)
        fw.write('%s\n' %radek)
    fw.close()
    
    fr = file('cisla.txt')
    sums = [float(x) for x in fr.readline().split(';')]
    for i, line in enumerate(fr):
        for j, val_str in enumerate(line.split(';')):
            sums[j] += float(val_str)
    i += 2
    avgs = [x/i for x in sums]
    print sums
    print avgs
    
    A na začátku se neví, kolik těch sloupců je, že?
    6.8.2007 17:50 pavel
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Sloupců se ví (je to druhý až patnáctý), ale počet řádků mám pokaždé jiný...
    6.8.2007 17:54 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Bash aritmeticky priemer
    Aha. Ale snad by mělo jít použít to, co jsem napsal, protože to funguje univerzálně pro libovolný (rozumný) počet sloupců i řádků. Samo si to příslušná čísla zjistí.

    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.