Tendrá que usar dos herramientas de línea de comandos diferentes, dependiendo de si está trabajando con formato .doc o .docx.
Para .doc use catdoc:
catdoc foo.doc > foo.txt
Para .docx use docx2txt:
docx2txt foo.docx
Este último producirá un archivo llamado foo.txt en el mismo directorio que el original.
No estoy seguro de qué distribución de Linux está usando, pero tanto catdoc como docx2txt están disponibles en los repositorios de Ubuntu, por ejemplo:
apt-get install docx2txt
O con Homebrew en Mac:
brew install docx2txt
aquí hay un proyecto perl que dice hacerlo. También he hecho mucho de esto a mano, usando XSLT en el archivo document.xml. el archivo Docx en sí es solo un archivo zip, puede descomprimirlo e inspeccionar los elementos. Diré que esto no es difícil de hacer para archivos específicos, pero es muy difícil de hacer en el caso general, debido a la falta de documentación sobre cómo Word almacena cosas internamente y la variación de la representación interna.