我想将所有.odt
.doc
.xls
.pdf
文件转换为.txt
文件。
我想使用 shell 脚本或 perl 脚本将这些文件转换为文本文件
有一个用于 odt 文件和类似文件的程序:
odt2txt - 在 repos 中可用。
$ unoconv --format=txt document1.odt
应该产生document1.txt。
OpenOffice 有一个内置的文档转换器,能够处理一堆格式——看看 unoconv:http ://dag.wieers.com/home-made/unoconv/
话虽如此,过去我在让它工作时遇到了一些麻烦——如果你遇到麻烦,请查看 AbiWord(另一个开源文字处理器)的类似程序。
对于 word 文档,您可以尝试antiword
,至少在 linux 上。它是一个命令行实用程序,将 word 文档作为参数,并将该文档中的文本(尽其所能)输出到标准输出。也许您也可以指定一个输出文件。我不记得它是如何工作的细节。我有一段时间没有使用它了。不确定它是否可以处理 OO 文档。
这样做当然是可能的,尽管 OO 项目及其文档有些奇怪且难以理解,这使得此类事情难以研究和遵循。但是,OO 能够转换所有这些类型,而不仅仅是 OO 原生类型,它可以通过两种不同形式的自动控制来实现。
这是两种通用的方法。
您可以启动 OO 并告诉它执行一个宏,该宏会为您完成给定文件的这项工作。然后,您只需要编写宏和脚本来循环您的文件。语法类似于
$ oowriter -headless 文件名宏://dir/Standard.Module1.sMySub
OO 的另一件事是网络 API。这是基于称为 UNO 的东西。
$ oowriter -accept=接受字符串
Notifies the OpenOffice.org software that upon the creation of
"UNO Acceptor Threads", a "UNO Accept String" will be used.
您将需要某种客户端库。我认为他们至少有一个用于 Python 的。使用这项技术,Python 程序或其他带有 OO 客户端库的脚本语言可以驱动程序并转换所有文件。由于OO读取MSO,它应该能够完成所有这些。
在 LibreOffice 中打开文件。单击“文件”,“另存为”向下滚动以找到文本选项。单击它,它将保存为文本文件。
仅供参考,我有一个大小为 339.2 KB 的 *.ODT 文件。当我另存为文本时,文件的大小缩小到只有 5.0 KB。将文件另存为文本文件的另一个原因。
对于 Microsoft 格式,请查看wvWare 工具。
在 libre office 中正常打开 .ods 文件
突出显示要转换的文本
打开终端
运行 vi
按“i”进入插入模式
按 ctrl-shift-v
完毕!
需要一些格式吗?
将文件另存为
离开 vi
跑:
$猫 | 列>文件名2
这适用于运行 KDE 的 opensuse
如果需要,用“kwrite”替换“vi”