最近,一位朋友天真地问我文件格式有多少种。我半开玩笑地回答说:“想象一下一个装满沙滩沙子的汤碗。”
好吧,文件格式并没有那么多 文件格式。即便如此,您可能从未听说过许多常用格式,这些格式足以在维基百科上列出。您很可能永远不会看到,也永远不会使用它们中的大多数。但是,如果您想要或需要转换文件格式,那么有很多应用程序可以完成这项工作。
让我们来看看 Linux 命令行下的三个可靠的文件转换工具。
Pandoc
我认识的每个使用标记语言的人都说 Pandoc 是标记语言之间转换的首选实用程序。这是有充分理由的:Pandoc 不仅可以进行一些非常出色的转换,而且速度也很快。
有一个使用 Markdown 格式化的文件,您想将其转换为 LibreOffice Writer 文档吗?想把 LaTeX 文档转换成 EPUB 格式吗?或者,您可能有一个 HTML 文件,想要将其转换为幻灯片演示文稿。Pandoc 可以胜任所有这些任务。甚至更多。
以下是如何使用 Pandoc 进行简单转换(在本例中,从 HTML 转换为 reStructuredText)
pandoc -t rst myFile.html -o myFile.rst
您不仅限于直接转换。例如,您可以向结果文件添加目录、印刷引号、自定义标题和语法高亮。请查看 Pandoc 的文档 以了解详细信息。
但是,Pandoc 仅处理基于文本的文件。如果您有一个二进制文件,例如文字处理器文档,该怎么办?命令行帮助来自一个意想不到的来源。
LibreOffice
您可能会想:“等等!LibreOffice 是一个 GUI 应用程序。” 是的,没错。但很多人不知道的是,您可以从命令行运行 LibreOffice,以快速转换一个或多个文件。
如何操作?例如,要将 LibreOffice Impress 幻灯片演示文稿转换为 PDF,您需要键入以下内容
soffice --headless --convert-to pdf mySlides.odp
您只需将 pdf 替换为您要转换成的任何文件格式的扩展名。如果您想知道,--headless
选项会阻止在您的桌面上打开一个空的 LibreOffice 窗口。
使用命令行下的 LibreOffice 转换单个文件有点大材小用。但是,转向命令行是同时转换多个文件的好方法。例如,如果您想将文件夹中的所有 Microsoft Word 文档转换为 LibreOffice Writer 格式,您需要键入
soffice --headless --convert-to odt *.docx
转换所花费的时间比在 LibreOffice Writer 中打开所有这些文件并手动进行转换要少得多。
FFmpeg
Pandoc 是标记语言之间转换的瑞士军刀,而 FFmpeg 则是 Pandoc 在音频和视频格式方面的对应物。
FFmpeg 是一组库和可执行文件,使您能够在几乎任何格式之间无缝转换。
这是一个将视频从 AVI 转换为 Ogg Theora 的简单转换示例
ffmpeg -i myVideo.avi myvideo.ogg
FFmpeg 可以做的远不止这些。您可以设置视频的 帧速率 并为其添加字幕,更改 宽高比,更改音频质量等等。
如果您选择使用多个选项,命令行可能会变得非常拥挤。很容易忘记这些选项,特别是如果您只是偶尔使用 FFmpeg。听一位老技术作家的劝告:阅读文档 并不丢人。
您是否有最喜欢的命令行文件转换工具?欢迎通过在下方留言分享。
21 条评论