GNU/Linux >> Znalost Linux >  >> Linux

Jak nahradit slovo v souboru .DOCX pomocí příkazového řádku Linuxu?

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

Linux
  1. Jak extrahovat soubor tar.gz v Linuxu pomocí příkazového řádku

  2. Jak restartovat Linux pomocí příkazového řádku

  3. Jak nahradit všechny výskyty slova ve všech souborech v příkazovém řádku Linuxu

  1. Jak vypnout nebo restartovat Linux pomocí příkazového řádku

  2. Jak nahradit soubor v jar příkazovým řádkem v linuxu?

  3. Jak změnit výchozí /tmp na /home/user/tmp

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Jak systemd-tmpfiles vyčistí /tmp/ nebo /var/tmp (náhrada tmpwatch) v CentOS / RHEL 7

  3. CentOS / RHEL :Jak otočit soubory /var/log/wtmp a /var/log/btmp pomocí logrotate