如何从终端编辑 .odt 文件?

art*_*hur 12 command-line text-editor 16.04

经常使用LibreOffice Writer。

我想知道是否有办法通过终端编辑文本?

gal*_*get 8

与您正在寻找的最接近的是wordgrinder基于终端的文字处理器。

您可以安装它执行:

sudo apt install wordgrinder
Run Code Online (Sandbox Code Playgroud)

这里是该项目的官方网站:https : //cowlark.com/wordgrinder/

这是 Github 存储库:https : //github.com/davidgiven/wordgrinder

以及快速生存指南:https : //gist.github.com/davidgiven/1aba97e96a9b8f9b573b

如果您检查导入和导出部分,您会发现:

输入

从 ODT 文件导入基本内容。OpenDocument 复杂且难以解析,但 WordGrinder 会尽力应用适当的样式。不支持的功能将被忽略。

出口

这会生成一个 ODT 文件,LibreOffice 和其他各种主要的文字处理器都可以读取该文件。字符和段落样式被导出并映射到称为 P、H1、H2 等的 OpenDocument 样式。


des*_*ert 6

libreoffice带有将odt文件转换为纯文本的选项,然后可以使用您首选的命令行文本编辑器进行编辑,并(如果需要)转换回odt.

  1. 转换document.odt

    libreoffice --convert-to txt document.odt
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用您喜欢的文本编辑器编辑文件,例如:

    gedit document.txt
    nano document.txt
    vim document.txt
    
    Run Code Online (Sandbox Code Playgroud)
  3. 转换回来。在--convert-to需要的文件扩展名作为参数,但你也可以指定文件名后缀,以防止libreoffice从覆盖原文件(它不问!):

    libreoffice --convert-to _new.odt document.txt
    
    Run Code Online (Sandbox Code Playgroud)

对于转换,还有odt2txt,我只是尝试两者并比较结果。

如果您正在使用,vim您可以将其配置为在后台自动为您进行转换,请参阅:是否可以轻松使用 .odt、.doc、.docx、.rtf 和其他非纯文本格式维姆?那里的答案odt2txt 用于转换,但也应该是可能的libreoffice --convert-to