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 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

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

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 1
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 2
    včera 13:55 | Komunita

    Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.

    Ladislav Hagara | Komentářů: 10
    28.4. 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:22 | Zajímavý projekt

    TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:00 | Nová verze

    Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.

    Ladislav Hagara | Komentářů: 5
    27.4. 21:33 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 486 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Převod pdb do txt

    29.5.2009 08:57 | Přečteno: 6271× | Linux | Výběrový blog

    Formát pdb je binárni formát obsahující text. Mám poměrne rozsáhlou sbírku knih v různých formátech z nichž největší část tvoří právě pdb. Na čtení používám FBReader, který mi maximálně vyhovuje.
    Problém nastal v okamžiku, kdy jsem potřeboval mou sbírku fulltextově prohledat. Nikde se mi nepodařilo v FBReader-u najít funkci na fulltextové prohledávání. Jediné co jsem našel je hledání v názvu souborů. Jako jedno z možných řešení mě napadl převod pdb do txt a následná aplikace beagel-u. Pro windows existuje několik programu na převod pdb/txt. Jejich problém spočívá v: nejdou pod wine nainstalovat, jsou to trial verze nebo neumějí hromadný převod se zachováním adresářové struktury.

    Pod linuxem jsem nasel nějaké programy, ale hromadný převod se mi v nich nepodařilo rozchodit. Náhodou jsem poté narazil na utilitu http://homepage.mac.com/pauljlucas/software/txt2pdbdoc (používám Ubuntu a mam tento program v repozitářích takže jsem kompilaci zdrojového kódu nezkoušel).
    Mým cílem byl převod cca 3000 pdb souborů do txt. Situaci komplikovala poměrne složitá adresářová struktura a mezery v názvech souborů. Nakonec jsem se rozhodl napsat jednoduchý skript v bash-i.

    1. Využití konstrukce "find .... -exec" a proc to nefungovalo

    find . -iname '*.pdb' -exec txt2pdbdoc -d -D -v {} \;

    Jednoduchý příkaz, který však nedělal to co má. Na standardní výstup vypisoval "překódované" pdb soubory jako text, ale jaksi nevytvářel vlastni výstupní soubory. Nemohl jsem přijít na to proč nefunguje tak jsem to nechal plavat a cca po měsíci me to napadlo. Program txt2pdbdoc vyžaduje dva argumenty a to vstupní soubor pdb a název výstupního souboru txt. Bohužel find předhazuje jen název vstupního pdb. Jde nejak takovéto situace ošetřit?

    2. Využití cyklu while

    Řešení je jednoduché a využívá find, cyklus while a utilitu txt2pdbdoc a funguje k mé spokojenosti

    find . -iname '*.pdb' | while read F; do txt2pdbdoc -d -D -v "$F" "${F%.pdb}.txt"; done        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    29.5.2009 09:28 Tomáš
    Rozbalit Rozbalit vše Re: Převod pdb do txt

    První řešení šlo jednoduše dodělat:

    find . -iname '*.pdb' -exec txt2pdbdoc -d -D -v {} {}.txt\;

    29.5.2009 09:45 Uran | skóre: 9 | blog: uranit
    Rozbalit Rozbalit vše Re: Převod pdb do txt

    Funguje akorat mezi druhou {}.txt a \; ma byt mezera. Jinak nevym jak zajistit aby pripona byla txt a ne pdb.txt

    29.5.2009 13:04 Tomáš
    Rozbalit Rozbalit vše Re: Převod pdb do txt

    Jinak nevym jak zajistit aby pripona byla txt a ne pdb.txt

    Na to je příkaz basename, odtrhneš tak pdb. Potom tam přidáš txt.

    30.5.2009 21:49 Zaphod | skóre: 37 | blog: zaphod_blog
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    Odstránenie prípony:
    $ FILE=/tmp/pokus/doc.pdb
    $ NAME=${FILE%.*}
    $ echo $NAME
    /tmp/pokus/doc
    
    basename je dobré, ale rozoznáva veľké a malé písmená a odstráni cestu k súboru.
    $ FILE=/tmp/pokus/doc.pdb
    $ basename $FILE .pdb
    doc
    
    ak bude doc.PDB nič neurobí. Výstupný súbor bude v CP1250 (ak sú české texty), text sa dá prekódovať pomocou iconv.

    Treba dať prevod do scriptu a ten volať z find -exec
    29.5.2009 09:46 petris_ | skóre: 12
    Rozbalit Rozbalit vše PDB neni binarni format pro text
    PDB je databaze pro PalmOS (PalmOS nepouziva souborovy system, ale databazi) a muze v tom byt vpodstate cokoliv - zvuk, obrazek, pismo, levely do hry...
    Jan Drábek avatar 29.5.2009 10:29 Jan Drábek | skóre: 41 | blog: Tartar | Brno
    Rozbalit Rozbalit vše Re: Převod pdb do txt

    Ono taky není pdb jako pdb... Měl jsem pdb, které nešli v mém palmovi vůbec otevřít a celé zařízení po jejich pokusu o otevření zkolabovalo... Musel jsem je převádět na text a zase zpátky.

    01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
    Sleep_Walker avatar 29.5.2009 11:23 Sleep_Walker
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    To bude spis problem aplikace, ktera to otvira. PalmOS je vinnen tim, ze to dovoli a umre :)
    29.5.2009 13:33 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    Co to propojit přímo s beaglem? Viz External Filters
    When your hammer is C++, everything begins to look like a thumb.
    29.5.2009 18:27 Uran | skóre: 9 | blog: uranit
    Rozbalit Rozbalit vše Re: Převod pdb do txt

    No beagle jsem nezprovoznil. Daemon mi tvrdosive odmita indexovat.

    29.5.2009 18:09 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    Já dopodus používal PSPad. Pod wine celkem jde.
    Ale hromadně převádět asi neumí, dík za tip...
    thingie avatar 29.5.2009 22:43 thingie | skóre: 8
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    Hm. já tady teda nějaké věci v PDB z různých zdrojů mám, FBReader to ukáže, ale… jako to je na poblití se, akorát, to fakt nejde číst. Možná je to jenom špatně udělané, samozřejmě.
    Růžové lži.
    30.5.2009 22:24 Zaphod | skóre: 37 | blog: zaphod_blog
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    Fbreader má blbé delenie textu do odstavcov. Preto sa ebook nedá čítať. Dá sa to nastaviť pre každý súbor, ale nie pre celý program (aspoň za čias ubuntu 7.04). Na čítanie som preto používal yBoook reader cez wine. Asocioval som si príponu .pdb s týmto programom a bez problému používal.
    30.5.2009 22:40 Zaphod | skóre: 37 | blog: zaphod_blog
    Rozbalit Rozbalit vše Re: Převod pdb do txt
    Druhý dobrý spôsob - script
    $ cat bin/rpdb
    #!/bin/sh
    txt2pdbdoc -d "$1" | iconv -f cp1250 -t utf8 | less
    
    som pridal ako do mc ako prehliadač. Cez F3 som si v mc na konzole prezeral pdb dokumenty.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.