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 01:00 | Komunita

    Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 10
    15.8. 17:44 | IT novinky

    Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních

    … více »
    Ladislav Hagara | Komentářů: 6
    15.8. 13:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.

    Ladislav Hagara | Komentářů: 3
    15.8. 05:44 | IT novinky

    Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.

    Ladislav Hagara | Komentářů: 10
    14.8. 18:00 | Nová verze

    VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.

    Ladislav Hagara | Komentářů: 0
    14.8. 14:11 | IT novinky

    Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).

    Ladislav Hagara | Komentářů: 26
    14.8. 12:44 | Zajímavý software

    Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.

    Ladislav Hagara | Komentářů: 1
    14.8. 12:22 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    13.8. 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 5
    13.8. 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (52%)
     (19%)
     (4%)
     (5%)
     (2%)
     (1%)
     (1%)
     (17%)
    Celkem 403 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Statistika znaku

    13.12.2008 23:53 Tomas Kuranyi
    Statistika znaku
    Přečteno: 353×

     

    Dobry den.

    Existuje nejaky program, ktery udela statistiku jednotlivych znaku v souboru?

    Chtel bych vedet, ze jake znaky jsou v danem souboru... muze se zdat, ze je to blbost, ale vygenerovany soubor z nejake aplikace muze obsahovat nulovy byte, form feed, vert. tabulator... atd. Tedy mi jde hlavne o prvnich 32 ridicich znaku v ASCII...

    Program by mohl vypsat, ze kolikrat obsahuje soubor ridici znaky, pripadne na ktere pozici se nachazi jako prvni. Mate zkusenost s timto problemem?


    Dekuji.

     

    Odpovědi

    14.12.2008 00:23 Bilbo
    Rozbalit Rozbalit vše Re: Statistika znaku
    Jeden takovy jsem si pro sve vlastni ucely napsal. Vystavil jsem ho na http://git.wz.cz/histogram.zip - ke kompilaci postaci make a g++, je to pod MIT licenci :)

    Program vypisuje teda jenom kolikrat, ale vypis vyskytu prvniho bych tam mohl asi jeste dopsat, to by se taky mohlo casem hodit :)
    14.12.2008 13:49 Tomas Kuranyi
    Rozbalit Rozbalit vše Re: Statistika znaku

     

    Fajn, presne jsem si myslel na takovou vec... :)

    Kdy bude zintegrovany do coreutils Linuxu? Protoze je uzitecny...

    Kdyz muzu neco doporucit: mohl bys napsat do vystupu jmeno tech ridicich znaku 0..31

    Kdyz program to umi, tak se omlouvam, ale nenasel jsem.

    Dik.

    14.12.2008 12:43 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Statistika znaku
    Nechat vypisat pomocou od do citatelnej podoby, nasekat na jednotlive znaky, zotriedit a spocitat
    od -An -a subor |sed -r 's/^ *//; s/[ ]+/\n/g' | sort | uniq -c
    If you hold a Unix shell up to your ear, you can you hear the C.
    14.12.2008 14:25 Tomas Kuranyi
    Rozbalit Rozbalit vše Re: Statistika znaku

     

    Tiez funguje...

    Od "od" by som to neocakaval...

    Este by som mal nejake otazky k tomu...

    1. Ako by som vymenil 12345-ty bajt v subore na iny bajt (zadany najlepsie hexadecimalne, napr. 0x0a)?

    2. Ako by som vymazal 12345-ty bajt v subore? Ostatne bajty zostanu, teda subor bude o 1bajt mensi.

    Dakujem.

     

    14.12.2008 16:48 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Statistika znaku
    Urcite existuje lepsie a rychlejsie riesenie. Ale som vysadeny na sed a bavi ma, takze:
    sed 's/./&\n/g' subor |
    sed -n '
        /^$/b print
        H
        $b print
        d
        :print
        x
        s/\n//g
        p
        d
    '
    Toto rozoberie subor na znaky a zase ho posklada (zbiera znaky az dokym nepride \n; vtedy ich vycisti, vypise a zase znova; posledny riadok ma troska specialne zachadzanie, pretoze nemusi koncit \n). Medzi tie 2 sedy uz mozes zaradit cokolvek, napr. 3. sed, ktory spravi co chces. Napr:

    sed 12345d #vymaze 12345. riadok = 12345. byte sed '12345s/.*/x/' #zmeni 12345. znak na "x", akceptuje aj \n, \t, \xa,...
    If you hold a Unix shell up to your ear, you can you hear the C.
    14.12.2008 21:38 Tomas Kuranyi
    Rozbalit Rozbalit vše Re: Statistika znaku

     

    No to je uz celkom brutalne riesenie...

    Teraz menit byte uz viem cez midnight commander -> F3 (View) -> F4 (Hex) -> F2 (Edit)...

    Zbyvaju: pridanie za (pred?) dany byte a odstranenie daneho bytu.

    Mozno ten "xxd" to vie -- skusim to. Ale ak vie niekto nech napise. Dakujem.

     

    14.12.2008 22:13 Radek | skóre: 14
    Rozbalit Rozbalit vše Re: Statistika znaku

    Milý Tomáši,

    myslím, že nebudu sám, koho by zajímalo, na co takový program potřebuješ. Jeho napsání v C, Javě, nebo jakémkoli jiném použitelném jazyce by nemělo být tak složité. Strýček Google totiž prozradí, že podobně záhadné dotazy už tu máš minimálně dva (první, druhý). Jak tu již jednou padlo, smrdí to semestrálku...

    Nerad bych Ti křivdil. Prozradíš tedy, k čemu je takový program dobrý?

    S pozdravem,

    Radek

    15.12.2008 09:18 Tomas Kuranyi
    Rozbalit Rozbalit vše Re: Statistika znaku

    No, ja jsem si myslel, ze toto forum neni o sikane.

    Jake zahadne dotazy?!

    ad "ls" -- ja si myslim, ze jsem opravnene ocekaval od programu na vypis obsahu adresare to, ze mi umi pripravit vsechny soubory rekurzivne vcetne cesty.

    ad "column" -- o tomto programu jsem nevedel, dostal jsem odpoved

    A v zadnem pripade nemam tyhle veci do skoly. A i kdybych mel, tak co? Kdyz nechces, tak nepomuzes, a hotovo. Ale jak je videt: na kritiku mas energiu.

    A k tomuto: mas dokument, jednak ve formate Word, a jednak PDF. Jak jich porovnas (zda jsou vubec rozdily, ktery je starsi dle informace, atd...)

    Vyexportoval jsem do txt oboje a pomoci "diff" jsem porovnaval modifikovane verze. Je tam dost rozdilu, ale hlavne kvuli ridicich znaku...

    Proto je treba odstranit ^L znaky a podobne. Nebo menit na novy radek -- podle potreby.

    Vec naco se ptam, je vlastne nejobecnejsi textovy editor (menit, smazat, pridat byte na danou pozici)... To muze hodit kdykoliv.

    A jeste jedna vec: nejsem nejaky obrovsky expert na shell, ale podobne utoky, ze "k cemu je dobry" jsou celkem zbytecne... Kdyz jsem byl uplne zacatecnik a spustil jsem program "yes", tak taky jsem se ptal "k cemu k..rva tento program je dobry"... ted uz vim.

    15.12.2008 11:18 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: Statistika znaku

    Zdravím, na účely porovnávání textů používám osobně:

    1. Konverze abiword --to=txt *.doc *.odt *.docx
    2. sim_text -e -s *.txt

    Funguje to velmi rychle, i na textech v utf8, sim_test je v balíku similarity-tester v debianu. Ještě jsem pokusně zbastlil porovnávání všech dvojic text pomocí python-levenshtein modulu, ale to znak po znaku, výrazně pomalejší (všechny páry) a výsledky stejné.

    15.12.2008 14:05 Radek | skóre: 14
    Rozbalit Rozbalit vše Re: Statistika znaku

    Dobrá, věřím Ti. Přitom není pravda, že bych nechtěl pomoct.

    Jen je někdy rychlejší, pokud se zeptáš na konkrétní problém přímo -- viz elegantní rada od vencase. Ne snad, že by Tě do uvádění podrobností o problému někdo nutil; jen se pak nezlob za podobné dotazy.

    A pokud by tohle byl úkol do školy, tak je IMHO mnohem lepší odkázat na dobrý a rychlý tutorial než úlohu za jiného vyřešit. Mé oblíbené jsou bash, sed one-liners, nebo C a C++.

    15.12.2008 00:50 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Statistika znaku

    Tohle:

    #!/usr/bin/python
    
    import sys, curses.ascii
    counts = {}
    for pos, c in enumerate(sys.stdin.read()):
        if c > ' ': continue
        try:
            counts[c][1] += 1
        except KeyError:
            counts[c] = [pos, 1]
    counts_list = counts.items()
    def deco(x):
        return x[1][1]
    counts_list.sort(key = deco)
    for c, pos_count in counts_list:
        pos, count = pos_count
        print count, '%06x' %pos, curses.ascii.controlnames[ord(c)]
    

    Vypíše statistiku řídících znaků (tj. 0 až 32), ostatní přeskakuje. Výstup je setříděný podle počtu, obsahuje první pozici výskytu (hexadecimálně) a název řídícího znaku. Binárku to zpracuje asi desetkrát rychleji než to řešení v shellu, ale určitě mnohem pomaleji než to v c++.

    Ani jsem se nesnažil šetřit paměť…

    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.