Gyors dokumentum megjelenítő

Fórumok

Sokat szívtam a szerény képességű (de pofátlanul olcsón, használtan vett) notebook-ommal a különböző formátumú könyvek olvasásával, mert az alapértelmezett megjelenítő programok túl lomhán futnak a vason.
Összecsaptam hát egy szkriptet a feladatra, ami néhány konzoli program segítségével képes a legtőbb formátum gyors megjelenítésére.

Íme, ha valakinek szüksége lenne rá, használja egészséggel:

# Gyors doc, rtf, pdf, odt, sxw, htm[l]?, txt megjelenito szkript
# Csak a szovegeket szedi ki. Az rtf reszt erdemes meg "finomhangolni", kulonosen nem utf8 rendszeren!
# Fuggosegek: antiword (doc), pdftotext (pdf), lynx (html), unzip (odt,sxw)
fajl="$1"
if [[ -f "$fajl" ]]; then
case "$fajl" in
*[Dd][Oo][Cc]) if which antiword; then antiword "$fajl" | less; else echo "Hianyzik az antiword!"; fi;;
*[Rr][Tt][Ff]) cat "$fajl" | sed -e "s/\\\'e9/é/g" -e "s/\\\'e1/á/g" -e "s/\\\'fa/ú/g" -e "s/\\\'f3/ó/g" -e "s/\\\'ed/í/g" -e "s/\\\'fc/ü/g" -e "s/\\\\u337 ?/ő/g" -e "s/\\\'f6/ö/g" -e "s/\\\u369 ?/ű/g" -e "s/\\\'d3/Ó/g" -e "s/\\\'c1/Á/g" -e "s/\\\'c9/É/g" -e "s/\\\'cd/í/g" -e "s/\\\\u336 ?/Ő/g" -e "s/\\\'da/Ú/g" -e "s/\\\\u368 ?/Ű/g" -e "s/\\\'d6/Ö/g" | tr -d '{}\n\r' | sed 's/\\pa[rd]\+/˙/g; s/\\[^ ]*//g' | tr -s ' ' | tr '˙' '\n' | less;;
*[Pp][Dd][Ff]) if which pdftotext; then pdftotext "$fajl" - | less; else echo "Hianyzik a pdftotext!"; fi;;
*[Oo][Dd][Tt]) unzip -cCq "$fajl" content.xml | sed 's/<\/text:p>/\n/g' | sed 's/<[^>]*>//g'| less;;
*[Ss][Xx][Ww]) unzip -cCq "$fajl" content.xml | sed 's/<\/text:p>/\n/g' | sed 's/<[^>]*>//g'| less;;
*[Hh][Tt][Mm]) if which lynx >/dev/null; then lynx -dump "$fajl" | less; else echo "Hianyzik a lynx!"; fi;;
*[Hh][Tt][Mm][Ll]) if which lynx >/dev/null; then lynx -dump "$fajl" | less; else echo "Hianyzik a lynx!"; fi;;
*[Tt][Xx][Tt]) cat "$fajl" | less;;
*) echo "ehhez a fajltipushoz nincs megjelenito: ${fajl/*./}";;
esac
else
echo "$fajl fajl nem letezik."
fi

Igaz, könyvolvasáskor én ezt a szkriptet a less-ek nélkül csak "frontend"-ként használom egy másik saját szkripthez, ami a szöveg szélességet is beállítja (fmt), lapokra tördeli (head/tail), lapoz (ugrás az n. vagy a +/-n. oldalra), ill. könyvjelzőzi (lapszám eltárolása), de így is jól jöhet :-)

Hozzászólások

Ezekkel az eszközökkel az rtf formátum esetében volt gondom: nem találtam olyan "backend"-et (unrtf, catdoc, stb.) hozzá, ami a magyar ékezetes karaktereket jól adná vissza, és ebben az iconv sem segített.

Igazából ezért írtam meg először az rtf konvertáló részt (szintén más ötlete alapján), majd mivel a többi formátum kezelése ehhez képest pofonegyszerűnek látszott, azokat is hozzáírtam.

Mellesleg ennek a szkriptnek kevesebb a függősége: az rtf-hez, sxw-hez és az odt-hez egyáltalán nincs is (igaz az eredmény is csak a puszta, formázatlan szöveg).

Könyvolvasásnál viszont jól jön az oldalra ugrás, meg a könyvjelzőzés lehetősége, amit könnyebb volt ehhez az egyszerű szkripthez illesztenem, mint máséhoz.

---
Mondjon le!