Takže chcete nahradit věci ve formátu specifickém pro značku? Na první pohled to vypadá špatně, ale nový docx
formát je na to o něco lepší než starý doc
formátu, protože se ve skutečnosti jedná o soubor ZIP obsahující XML
soubory.
Takže odpověď spočívá v rozbalení, pak se budete muset prohrabat soubory a zjistit, na který z nich zavolat sed
a znovu jej zazipujte.
Podívejte se na soubor word/document.xml
v souboru ZIP.
zkuste tento skript:
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
a zavolejte skript následovně:
./repdocx FILE_NAME OLD_STRING NEW_STRING
Jak odpojit (odstranit) speciální pevný odkaz . vytvořené pro složku?
Jak zakázat mezipaměti L1 a L2 procesoru?