我想要的是:我有一个.doc
包含多行的文件。我需要在文件中查找一个字符串并将其替换为另一个字符串。到此为止。但是我如何才能将字符串替换为另一个字符串以及格式。我的意思是像大胆的,斜体、新字符串的下划线等。
答案1
我所知道的唯一自动化文件的方式.doc
是使用非常复杂且极其耗时的 Python 脚本。您需要使用 PyUNO 自动化 [Libre|Open]Office。
这是最好的这样做是因为您可以使用 Office 中的几乎所有功能,而不必进行狡猾的黑客攻击......
一种不太理想的方法是使用unoconv
将转换.doc
为人类可读的内容.fodt
,例如,然后sed
将其转换回.doc
。
unoconv -o test.fodt -f fodt test.doc
sed -i 's/string/newstring/g'
unoconv -o test.doc -f doc test.doc
您必须小心,不要让您的字符串干扰文档标签。如果干扰,您需要使用更工业化的方法,确保您只编辑<text:...>
标签中的内容。
.fodt
因此,您可以使用 html,而不是
unoconv -o test.html -f html test.doc
sed -i 's/string/<B>newstring</B>/g'
unoconv -o test.doc -f doc test.html
然而,转换过程很可能会彻底破坏文档格式。