# übergebene Argumente in Variablen schreiben INPUTFILE="$1" OUTPUTFILE="$2" # Dateiname ohne Pfad ermitteln INPUTFILENAME=`basename "$INPUTFILE"` #Pfad (ohne Dateiname) für die Ausgabedatei ermitteln OUTPUTPATH=`dirname "$OUTPUTFILE"` # Dateiendung der Eingabedatei ermitteln INPUTFILEEXT=${INPUTFILE##*.} # Dateiname ohne Dateiendung ermitteln FILENAME=${INPUTFILENAME%.*} # je nach Dateityp den entsprechenden Befehl ausführen # siehe dazu auch https://de.wikipedia.org/wiki/Liste_der_Microsoft-Office-Dateinamenserweiterungen case $INPUTFILEEXT in pdf) pdftotext -enc UTF-8 $INPUTFILE $OUTPUTFILE ;; doc|dot|docx|docm|dotx|dotm|xls|xlm|xlt|xlsx|xlsm|xltx|xltm|ppt|pot|pps|pptx|pptm|potx|potm|ppsx|ppsm|odt|ott|ods|ots|csv|odp|otp|odg) libreoffice --headless --convert-to "txt:Text (encoded):UTF8" --outdir "$OUTPUTPATH" "$INPUTFILE" mv $OUTPUTPATH/$FILENAME.txt $OUTPUTPATH/$INPUTFILENAME.txt ;; esac