Entonces, ¿quieres reemplazar cosas en un formato específico de marca? A primera vista se ve mal, pero el nuevo docx
El formato es un poco mejor para eso que el antiguo doc
porque en realidad es un archivo ZIP que contiene XML
archivos.
Entonces, la respuesta está en descomprimirlo, luego tendrás que hurgar en los archivos y descubrir a cuál llamar sed
y ciérralo de nuevo.
Consulte el archivo word/document.xml
en el archivo ZIP.
prueba este script:
FILE=$1
RETPATH=`pwd`
rm -rf /var/tmp/docx
mkdir /var/tmp/docx
cp $FILE /var/tmp/docx
cd /var/tmp/docx
mkdir tmp
unzip $FILE -d tmp
cd tmp/word
sed -i "s/${2}/${3}/" document.xml
cd ..
zip -r ../${FILE} *
cp /var/tmp/docx/${FILE} ${RETPATH}
cd $RETPATH
rm -rf /var/tmp/docx
y llame al script de la siguiente manera:
./repdocx FILE_NAME OLD_STRING NEW_STRING