では、ブランド固有のフォーマットで物を置き換えたいですか?一見悪いように見えますが、新しい docx
形式は、古い doc
よりも少し優れています これは、実際には XML
を含む ZIP ファイルであるためです。 ファイル。
したがって、答えはそれを解凍することにあります。次に、ファイルを調べて、どのファイルで sed
を呼び出すかを判断する必要があります。 もう一度圧縮してください。
ファイル word/document.xml
をチェックアウトします ZIP ファイルに含まれています。
このスクリプトを試してください:
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
次のようにスクリプトを呼び出します:
./repdocx FILE_NAME OLD_STRING NEW_STRING