将 .doc 文件与 cat 连接起来

将 .doc 文件与 cat 连接起来

我正在尝试连接几个 .doc 文件,其中没有一个文件大于 15 KB,我正在尝试通常的操作

cat file1.doc file2.doc file3.doc > new_file.doc

但尽管结果是一个近 200 KB 的新 .doc 文件,但这仅显示原始 .doc 文件内容的第一个。

有任何想法吗?我做错了什么?无法将 .doc 文件与 cat 连接起来?

任何帮助表示赞赏。

提前致谢。

答案1

您可以使用 LibreOffice 中的 writer将文件转换*.doc为:*.html

lowriter --convert-to html $doc_filename

然后,您可以cat按任何顺序排列它们,包括格式和图像(如果它们位于同一目录中或者指定了它们的完整路径)。

最后,您可以使用相同的命令将它们转换回Word格式:

lowriter --convert-to doc $html_filename

答案2

这是因为.doc文件采用 Microsoft Word 格式,而不是可以连接在一起的纯文本文件。

文件的标题实际上会告诉您的文字处理器数据是如何组织的,因此仅列出第一部分。

为了将它们组合在一起,您需要使用文字处理应用程序导入它们,然后将它们相互附加。

答案3

这是行不通的,因为.doc(以及许多其他类型的文件)具有内部结构:某种包含概述信息的标头,然后是内容本身。如果将其中两个压缩在一起,在最好的情况下,应用程序只会“看到”第一个,或者会看到长度不匹配,或者在预期结束之后有一些意外的内容,并考虑该文件损坏的。

文本文件只是一串行。在末尾添加另一行字符串会得到一个格式良好、更长的文本文件。向文件添加行.doc是一项更为复杂的操作。

相关内容