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 04:44 | Nová verze

    Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 03:33 | Komunita

    Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.

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

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    včera 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 3
    včera 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

    Ladislav Hagara | Komentářů: 2
    8.6. 22:44 | IT novinky

    Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.

    Ladislav Hagara | Komentářů: 0
    8.6. 22:22 | Nová verze

    Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).

    Ladislav Hagara | Komentářů: 0
    8.6. 20:44 | Nová verze

    aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1860 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 180×
    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.