Hallo, On Thu, 21 Mar 2002, Erika Mannheim wrote:
1. frage: Kann in diesem Fall - gleicher Typ! - Netscape zwischen .doc und .rtf so unterscheiden, dass er je zwei verschiedene Programme aufruft? Ich meine, dass das via "/.../applications" nicht geht.
Schau mal in deine ~/.mime.types Da kannst du u.a. (wenn Nutscrape nicht laeuft) froehlich an den Mime-Typen rumschrauben ;) Z.B: type=application/rtf \ desc="Rich Text Format" \ exts=".rtf,.RTF" type=application/msword \ desc="Winzigweich Word" \ exts=".doc,.DOC,.dot,.DOT,.wrd,.WRD" *g*
2. Frage wenn das nicht geht: bestünde ja noch die Möglichkeit, das in dem Skript "xantiword"(s.u.) (mit dem jetzt aus Netscape heraus "antiword" aufgerufen wird!) so einzubauen, dass über eine Art "test" die Dateiendung abgefragt wird, und - je nachdem - das File entweder nach "antiword" oder beispielsweise "unrtf" weitergeleitet wird?
Warum nicht? :)
Hier ist das oben angesprochene Skript "xantiword". ----------------------- #!/bin/csh -f setenv FILE $1 setenv NEWFILE ${FILE}.xantiword /home/erika/bin/antiword $FILE >$NEWFILE /usr/X11R6/bin/xless -title "$FILE \ (Titelzeile)" \ -geometry 100x60 $NEWFILE rm -f $NEWFILE --------------------------------
Leider kann ich csh nicht, daher in (ba)sh: ==== UNGETESTET! ==== #!/bin/sh EXT=`echo "$1" | sed 's/^.*\.\([^.]*\)$/\1/'` case "$EXT" in doc) antiword "$1" | xless -title "$1" -geometry 100x60 ;; rtf) ## falls hier unrtf richtig ist: unrtf "$1" | xless -title "$1" -geometry 100x60 ;; esac ==== Falls du die bash verwendest kannst du EXT auch so setzen: ==== #!/bin/bash EXT="${1//#*./}" [..] ==== Eine weitere Alternative waere evtl. auch 'file' auf die Datei anzusetzen, und dessen Ausgabe zu untersuchen... Bei mir liefert file z.B. "Microsoft Office Document" bzw. "Rich Text Format data". ==== #!/bin/sh TYPE=`file "$1" | cut -d':' -f2-` case "$TYPE" in Rich Text*) unrtf ... # wie oben ;; Microsoft Office*) antiword ... # dito ;; esac ==== Auch hier gibt's wieder eine bash-interne Loesung statt cut: ==== #!/bin/bash TYPE=`file "$1"` TYPE="${TYPE//#*:/}" [..] ==== HTH, -dnh -- Windows 98? Warum? Ich hab' das alte noch nicht zu Ende gespielt.