GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo reemplazar una palabra dentro de un archivo .DOCX usando la línea de comandos de Linux?

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

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Cómo reiniciar Linux usando la línea de comandos

  3. Cómo reemplazar todas las apariciones de una palabra en todos los archivos en la línea de comandos de Linux

  4. CentOS / RHEL:Cómo rotar el archivo /var/log/wtmp y /var/log/btmp usando logrotate

  5. Cómo dividir iso o archivo usando el comando 'dividir' en Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Cómo crear un enlace simbólico en Linux usando el comando Ln

Cómo probar la velocidad de Internet usando la línea de comandos en Linux

Cómo descargar un archivo en Ubuntu Linux usando la línea de comandos

Cómo bloquear un archivo de texto en Linux usando el comando flock

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux