Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: skript konverze doc, rtf - doladeni  (Přečteno 1312 krát)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
skript konverze doc, rtf - doladeni
« kdy: 06 Srpna 2010, 11:59:09 »
Mam dost knih v e-podobe (pdb, txt,doc, rtf, ...).

abych neztratil prehled tak si ty co chci aktualne cist symlinkuji do adresare "Precist"

Pouzivam ctecku, ktera nezvlada rtf ani doc tak jsem zbastlil jednoduchy prevodni skriptik. Uznavam je to sileny paskvil, ale funguje. Jen bych potreboval doladit par detajlu. Nebranim se taky radam co delam uplne blbe ap.

Kód: [Vybrat]
#!/bin/bash
rm -rf /mnt/data/books/konverze
mkdir /mnt/data/books/konverze
cp -HLr /mnt/data/books/Precist/ /mnt/data/books/konverze/
find /mnt/data/books/konverze/ -type f -iname '*.doc' | while read F; do catdoc "$F" > "${F%.doc}.txt"
done
find /mnt/data/books/konverze/ -type f -iname '*.rtf' | while read F; do catdoc "$F" > "${F%.rtf}.txt"
done
find /mnt/data/books/konverze/ -type f -iregex '.*\(doc\|rtf\)' -exec rm -rf {} \;

Par dotazu (prubezne doplnim):
1. jde v nejak v tom presmerovani (..."$F" > "${F%.rtf}.txt"...) osetrit situaci kdy muze mit soubor v promene priponu doc nebo rtf tak abych nemusel pouzit dva cykly?

Prevodni skript http://wagner.pp.ru/~vitus/software/catdoc/
« Poslední změna: 06 Srpna 2010, 12:06:49 od Uran »
"Pouze text v MS Wordu je opravdu čistý, příteli."

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: skript konverze doc, rtf - doladeni
« Odpověď #1 kdy: 06 Srpna 2010, 13:02:20 »
Kód: [Vybrat]
> "${F%.*}.txt"
funguje pre všetky prípony
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: skript konverze doc, rtf - doladeni
« Odpověď #2 kdy: 06 Srpna 2010, 13:58:56 »
Kód: [Vybrat]
> "${F%.*}.txt"
funguje pre všetky prípony

Jeste dotaz. Co kdyz v je nazvu souboru vice tecek tj. neco.nic.doc. Nebude ta konstrukce .* moc zrava?

Fungovalo by neco podobneho "${F%....$}.txt" - tri tecky jako tri znaky a $ jako konec radku?
"Pouze text v MS Wordu je opravdu čistý, příteli."

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: skript konverze doc, rtf - doladeni
« Odpověď #3 kdy: 06 Srpna 2010, 17:51:47 »
Pozri si man bash
Citace
       ${parameter%word}
       ${parameter%%word}
              Remove  matching suffix pattern.  The word is expanded to produce a pattern just as in pathname expansion.  If the pattern
              matches a trailing portion of the expanded value of parameter, then the result of the expansion is the expanded  value  of
              parameter  with  the shortest matching pattern (the ``%'' case) or the longest matching pattern (the ``%%'' case) deleted.
              If parameter is @ or *, the pattern removal operation is applied to each positional parameter in turn, and  the  expansion
              is  the  resultant  list.   If  parameter  is  an array variable subscripted with @ or *, the pattern removal operation is
              applied to each member of the array in turn, and the expansion is the resultant list.

%.* - odoberie najkratší reťazec - za poslednou bodkou
%%.* - odoberie najdlhší reťazec - za prvou bodkou

Citace
Fungovalo by neco podobneho "${F%....$}.txt" - tri tecky jako tri znaky a $ jako konec radku?
neviem, ale je to zbytočne zložité. Ako špeciálne znaky berie @ a * - bodka a $ nie sú definované.

Rád používam Advanced Bash-Scripting Guide
Na rozdiel od man bash sú tam aj príklady. Dokumentácia sa dá aj stiahnuť z http://tldp.org/LDP/abs/
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

starenka

  • Stálý člen
  • **
  • Příspěvků: 1276
  • Karma: plynová [zapalovač] [hasičák]
    • /home/starenka
Re: skript konverze doc, rtf - doladeni
« Odpověď #4 kdy: 08 Srpna 2010, 21:31:03 »
OT: kdybys nahodou potreboval aplikaci na prevadeni ebook formatu, tak zkus calibre (http://calibre-ebook.com/)
mojenka | blozinek v2 | starej blozinek | krotim hady za penize | UJ! Kalužátor

Debian testing vrní v Thinkpadu X200/bedně/EEE 900a, MasoX Tiger v lampe

 

Provoz zaštiťuje spolek OpenAlt.