#!/bin/bash # DOCX2TXT converter # by Tarik Fdil - member of the CarrefourBLinuX Mailing List # - posted at CBLX on 06-02-2008 - rev. 14-02-2008 # Layout + English translations by O. La Rosa - http://blinuxman.net/ # Do uncomment the right lines if you want the warnings to be in English clear echo "DOCX2TXT converter - by Tarik Fdil " # Vérifier que le fichier est spécifié, sinon sortir avec un message sur la # manière d'utiliser le script if test $# -ne 1 then echo Usage: docx2txt fichier.docx # echo Usage: docx2txt file.docx exit 1 fi # Vérifier que le fichier existe et est lisible if ! test -r $1 then echo Fichier $1 inexistant ou illisible # echo "File $1 does not exist or can't be written" exit 2 fi # Récupérer le nom du fichier, remplace l'extension docx par txt nom=`basename $1 .docx`.txt # Unzipper et récupérer juste le contenu xml if ! unzip $1 word/document.xml then echo Problème avec unzip # echo Unzip problem exit 3 fi # Copie le contenu xml dans le fichier d'extension txt if ! mv word/document.xml $nom then echo Impossible de récupérer le contenu xml # echo Xml-content unextractable exit 4 fi # Supprimer le répertoire créé par unzip if ! rmdir word then echo Warning : impossible de supprimer le répertoire word # echo Warning : can't delete word/-map fi # Editer le fichier avec vi en mode ligne et en redirigeant l'entrée vers le # script en cours # ensuite remplacer toutes les balises par un retour chariot # après supprimer les lignes vides # finalement sauvagerder le fichier et sortir vi -E $nom << FIN 1,\$s/<[^>]*>/\r/g 1,\$g/^$/d w q FIN echo Conversion terminée #echo Conversion finished exit 0