Home > Ofimática, Prompt, Software Libre > Edición de ficheros odf desde prompt (línea de comandos)

Edición de ficheros odf desde prompt (línea de comandos)

   June 17th, 2009 Güimi Leave a comment Go to comments

Me encuentro con que tengo un conjunto de documentos en formato odf, concretamente odt y ods, en los que me gustaría hacer una simple modificación: pongamos que quiero cambiar en todos ellos “NOMBRE_CLIENTE” por “El Cliente”.
Para ello basta con utilizar un simple script que dice así:

#!/bin/bash
#
# modifica_odf 0.1 - GPL
# (c) Guimi
# http://guimi.net
#
# Ult. mod: Guimi 2009-06
#

####################################
tmpdir="tmp.$$"

# Hacemos un bucle para tratar todos los odf del directorio
for x in `ls *.od?`
do
  # Mostramos info
  echo "Modificando $x..."

  # Descomprimimos el odf en un directorio temporal
  unzip -q $x -d $tmpdir
  cd $tmpdir

  # Realizamos las modificaciones necesarias en styles.xml
  sed 's/NOMBRE_CLIENTE/El Cliente/g' styles.xml > tmp.xml
  mv tmp.xml styles.xml

  # Realizamos las modificaciones necesarias en content.xml
  sed 's/NOMBRE_CLIENTE/El Cliente/g' content.xml > tmp.xml
  mv tmp.xml content.xml

  # Borramos el fichero temporal tmp.xml
  rm tmp.xml

  # Regeneramos el odf
  zip -rq9 ../$x *

  # Salimos y borramos el directorio temporal
  cd ..
  rm -r $tmpdir
done

edición de ficheros odf desde prompt, edición masiva de ficheros odf, modificar ficheros odt ods odp odf

  1. June 28th, 2009 at 02:10 | #1

    Creo que hay un problema en la línea referente al mv del content.xml; sería:
    mv tmp.xml content.xml
    no?

  2. June 28th, 2009 at 08:53 | #2

    Sí Gaspar. Gracias.
    Ya he corregido la errata.

    Un saludo.

Para los artículos:
Creative Commons License 2003-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los documentos bajo los términos de la licencia "Reconocimiento-Compartir bajo la misma licencia 3.0 España" de Creative Commons.

Puede ver una copia de esta licencia completa.

Para el código de programación:
General Public License GPL 2 - Copyright (c) 1998-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los desarrollos bajo los términos de la licencia "GNU General Public License, Versión 2" de Free Software Fundation.

Puede ver una copia de esta licencia completa.

Reconocimiento tautológico: Todas las marcas pertenecen a sus respectivos propietarios.