删除字符串并用格式替换新字符串

删除字符串并用格式替换新字符串

我想要的是:我有一个.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

然而,转换过程很可能会彻底破坏文档格式。

相关内容