abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

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

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 563 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Pomoc s prvním skriptem

    29.12.2006 21:29 Jack Hokus | skóre: 34 | blog: LostHeaven
    Pomoc s prvním skriptem
    Přečteno: 133×
    Ahoj,

    mám následující problém. Potřeboval bych pomoct s vytvořením skriptu, který by mi pomohl "uklidit" knihu odeslané pošty.

    Jedná se o tabulku, která bylá původně zamýšlena tak, že na každé stránce byla jedna tabulka po 30 řádcích, na začátku hlavička konci součet.

    Vše bylo navrženo tak, aby když to celé vytisknete a založíte k archivaci byl na každém listu jedna tabulka s hlavičkou na začátku a součtem na konci.

    Jenomže se u toho vystřídala spousta lidí a výsledkem je totální zmatek.

    Potřeboval bych sestavit kolonu příkazů, která by dělala následující.

    Nejprve dostat tu sadu tabulek do nějakého ke zpracování vhodného tvaru. Ale pozor, struktura jednollivých řádků musí zůstat nedotčená.

    Jednotlivé řádky jsou složeny z data, jména příjemce,jeho adresy, obsahu spisu a poznámky Potom vypsat obsah tohoto souboru tak aby výstupem bylo třicet řádek. Výstup si pak zkopíruju do příslušné tabulky.

    Nechci nikomu hodit na krk svou vlastní práci. Vím, co chci, ale nevím, jak toho dosáhnout. Nikdy jsem žádny skript nepsal. Budu rád za jakoukoliv radu.

    S pozdravem Jack Hokus
    http://www.jackhokus.cz/

    Odpovědi

    29.12.2006 23:03 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Pomoc s prvním skriptem
    Formát (typ súboru) tej pôvodnej tabuľky je aký?
    29.12.2006 23:42 Jack Hokus | skóre: 34 | blog: LostHeaven
    Rozbalit Rozbalit vše Re: Pomoc s prvním skriptem
    Dobrý večer,

    tabulka je vytvořená v MS Excelu, takže .xls.

    Děkuji za odpověď

    Jack Hokus
    http://www.jackhokus.cz/
    29.12.2006 23:51 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Pomoc s prvním skriptem
    Aby sa to dalo spracovávať skriptom, muselo by to byť v nejakom (najlepšie textovom) formáte. Jedna z možností je uložiť to ako .csv (treba ale zvoliť vhodný oddeľovač stĺpcov [nejaký znak, ktorý v tých údajoch nie je použitý]).
    30.12.2006 00:07 Jack Hokus | skóre: 34 | blog: LostHeaven
    Rozbalit Rozbalit vše Co jsem zatím zkoušel
    Dobrý večer,

    původně excelovou tabulku jsem otevřel v OpenOffice a přes Soubor, Uložit jako záložka typ souboru a v ní export textu (nastavitelný) jsem si tabulku převedl na textový soubor.

    Tento textový soubor jsem pomocí příkazu: $ split --lines 30 pokus2.txt rozdělil na jednotlivé soubory po 30 řádcích (jedna strana v knize pošty má mít 30 řádků).

    Z malé části to tedy funguje, myslím tím převedení tabulky na textový soubor, a rozdělení souboru na části po 30 řádcích

    Ještě musím přijít na to, jak odfiltrovat nežádoucí řády (záhlaví a zápatí jednotlivých tabulek, prázdné řádky),tak aby výsledkem byl soubor s obsahem v tomto tvaru:
    1.12. Karel Janota Široká 15 772 00 Olomouc oběžník 1 12
    Toto celé má být na jednom řádku, čísla na konci znamenají 1 ks známky za 12 Kč

    To je zatím vše. Zítra na to sednu. Zatím dobrou noc a poděkování všem předsilvestrovským sovám.

    Jack Hokus
    http://www.jackhokus.cz/
    30.12.2006 00:29 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    Ak sú tam iba medzery, bude ťažké určiť, čo patrí do akého stĺpca. Preto je lepšie použiť csv (comma-separated values).

    Na odfiltrovanie prázdnych riadkov (alebo obsahujúcich iba medzery) sa dá použiť
    grep -vx '[[:space:]]*' pokus2.txt
    (samozrejme ešte pred rozdelení súboru).

    Na odstránenie hlavičiek a pätičiek sa dá použiť podobný postup (závisí od toho, čo takéto riadky obsahujú).
    30.12.2006 16:45 Jack Hokus | skóre: 34 | blog: LostHeaven
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    Dobrý den,

    vámi uvedený postup funguje perfektně. Prošel jsem si ho kus po kusu, abych pochopil jak jste to sestavil.
    grep  Hledá řádky, které odpovídají zadanému výrazu 
    v     Vypisuje řádky, které neodpovídají zadanému vzoru 
    x     Řádek je vypsán pouze tehdy, pokud celý odpovídá zadanému vzoru
    Až sem tomu rozumím, ale nepochopil jsem tuto část
     '[[:space:]]*'
    Přesněji, odhaduju, že tímto jste zadal, že má hledat prázdné řádky, ale nic víc.

    Asi se teď chytáte za hlavu nad mou natvrdlostí, protože nechápu něco tak jednoduchécho, ale opravdu jsem nikdy nenapsal žádný skript, ani se nepokoušel programovat tak zatím na celou věc hledím se stejným pochopením jako politik na lopatu.

    Moc děkuju za dosavadní trpělivost a přeju pěknou sobotu

    Jack Hokus
    http://www.jackhokus.cz/
    30.12.2006 16:56 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    Hledej "regulární výrazy". Najdeš toho mraky. Toto konkrétně znamená žádná, nebo jedna, nebo více mezer (stejný zápis: ' *' ).
    30.12.2006 17:03 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    [:space:] nemusí byť len ' '
    30.12.2006 18:05 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    Jo, jasně, já jsem to hooodně zjednodušil, až moc ...
    30.12.2006 17:00 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    [:space:] znamená nejaký typ medzery (normálna medzera, tab...)

    []* je 0 a viac výskytov

    Teda celé to je (aj s tým -x), riadky, kde je 0 a viac medzier

    Ak hlavičky a pätičky nemajú na začiatku dátum, môžu sa odfiltrovať napr.
    egrep '^[[:space:]]*[[:digit:]]+.[[:digit:]]+'
    teda: na začiatku radku môžu byť medzery (keďže je tam * tak aj nemusia), potom aspoň jedna číslica (to je to +), bodka a zase aspoň jedna číslica
    30.12.2006 17:05 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    Na vyhodenie tých prázdnych riadkov je možno lepšie
    grep '[^[:space:]]' a.txt
    to vypíše riadky, ktoré obsahujú aj iné znaky ako medzera
    31.12.2006 10:30 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Co jsem zatím zkoušel
    Zdravím,

    zkusil jsem při exportu do CSV nastavit jako oddělovač tabelátor (zdá se mi to jistější než čárka). No a výsledný soubor "janota.csv" jsem pak zpracoval tímhle:
    #!/usr/bin/env python
    # -*- coding: utf-8
    cell_names = ['Jméno', 'Ulice', 'PSČ', 'Město', 'Zásilka']
    N = 5
    count = 0
    for line in file('janota.csv'):
        line = line.strip()
        cells = line.split('\t')
        if len(cells) != len(cell_names): continue
        count += 1
        if count > N:
            print
            count = 1
        print count
        for name, cell in zip(cell_names, cells):
            cell = cell.replace('"', '')
            print name, cell
    
    Jednotlivé buňky mám pojmenované a pokud počet buněk v řádku nesouhlasí s počtem jmen, tak celý řádek zahodím (to budou asi ty hlavičky, patičky, prázdné řádky atd.). Dále se jednotlivé řádky číslují a rozdělují do N-tic. Výstup u každého řádku vypadá zhruba takto:
    3
    Jméno Karel Janota
    Ulice Široká 15
    PSČ 772 00
    Město Olomouc
    Zásilka Oběžník
    
    V této podobě je to samozřejmě k ničemu, je to pouze ukázka principů pro inspiraci. S jednotlivými buňkami se dá dělat ledacos.

    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.