Linux下三款流行的命令行文件转换工具
最近,一位朋友天真地问我计算机世界中到底共有多少种文件格式。我半认真半开玩笑地回应,“一个汤碗装满海滩沙子后对应的沙粒的总数也就是这个世界上文件格式的总数。”
好吧,自然没有那么多的文件格式(https://en.wikipedia.org/wiki/List_of_file_formats)。即便如此,你可能从未听说过像维基百科上所列举的那么多的常用的文件格式。现实情况是,你会永远看不到而且也永远不会使用那么多的文件类型。然而,如果你想要或需要实现文件格式之间的相互转换,那么确实存在不少这方面的工具程序供你选用。
下面,让我们来学习三种流行的Linux平台上的命令行文件类型转换工具。
Pandoc
所有我认识的使用标记语言的用户都说Pandoc(http://pandoc.org/)是转换这些语言的最常用工具。其实,这里有一个很好的理由:Pandoc不只是支持实现一些非常漂亮的转换,而且转换速度也非常快。
你是否有一个Markdown格式的文件想要转换为LibreOffice Writer文档格式?或者,有一个LaTeX文档你想要转换成一个EPUB文档?或者,也许你有一个HTML文件想转换成一个幻灯片。Pandoc能够胜任所有这些任务;当然,还有更多的功能。
下面给出的是使用Pandoc进行简单的文件格式转换的一个例子(在本例中实现从HTML格式转换为reStructuredText格式):
pandoc -t rst myFile.html -o myFile.rst
其实,你不只是限于直接转换。例如,你还可以向生成的结果文件中添加内容表格、印刷引用、自定义标题及语法高亮显示等。有关细节,请查阅Pandoc的参考文档(http://pandoc.org/MANUAL.html#options)。
然而,需要注意的是,Pandoc只能够处理基于文本的文件。如果你有一个二进制文件,如字处理器文档文件时,会发生什么呢?在命令行运行时将显示用户提供的是一个意想不到的文件源这样的提示。
LibreOffice
您可能会想,“停住!LibreOffice(http://libreoffice.org/)是一个GUI应用程序。不错,的确如此。但是,很多人不知道的是,你也可以从命令行运行LibreOffice来快速转换一个或多个文件。
那么,如何使用LibreOffice呢?举例来说,若要使用LibreOffice把一组幻灯片转换成PDF,你可以使用如下命令行内容:
soffice headless convert-to pdf mySlides.odp
在此,你只需将pdf扩展名替换成任何你想要转换的文件格式的扩展名即可。至于 headless选项,其作用是防止在运行上述命令时在您的桌面上打开一个空的LibreOffice窗口。
在命令行上使用LibreOffice转换单个文件格式有点小题大做。然而,在命令行下一次转换多个文件是一种不错的方式。例如,如果你想要将某文件夹中所有的微软Word文档转换为LibreOffice Writer文件格式,你只要使用如下命令即可:
soffice headless convert-to odt *.docx
这种命令行方式转换所需要的时间远远少于在LibreOffice Writer软件中打开所有这些文件并手动进行转换的时间。
FFmpeg
如果说Pandoc是实现标记语言之间进行转换的瑞士军刀,那么FFmpeg就相当于Pandoc在音频和视频格式文件转换领域的“瑞士军刀”。
FFmpeg是一组库和可执行文件的集合,借助于此工具你能够实现几乎任何格式文件间的相互转换。
下面给出的是使用FFmpeg把一个AVI格式的视频文件转换为一个Ogg格式的视频文件的使用举例:
ffmpeg -i myVideo.avi myvideo.ogg
其实,FFmpeg的功能比这要复杂的多。例如,你可以设置视频的帧速率并向其中添加字幕,更改纵横比,改变音频,以及更多的控制。
如果你选择使用多个控制选项时,命令行就会变得相当拥挤。特别是,当你只使用FFmpeg的如上述这样少数几个选项时,很容易忘记另外一些选项。在此,建议你经常阅读一下有关此工具的帮助文件,地址是https://ffmpeg.org/ffmpeg.html。
你也有自己最喜欢的命令行文件转换工具吗?希望您也能与我们一起分享吧。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55697.html
linux微软相关文章
- Linux查看文件权限的简单方法(linux权限查询)
- Linux命令:改变文件权限(linux命令修改权限)
- 深入Linux系统:查看文件的技巧(linux查看的文件)
- Linux文件的属主权限管理(linux文件属主)
- Linux检测与防火墙保护(linux检测防火墙)
- Linux如何删除指定行的文件(linux删除指定行)
- Linux命令 free:查看内存使用情况(linux命令free)
- Linux系统:击破反单引号之谜(反单引号linux)
- 变量Linux添加全局变量的方法(linux添加全局)
- Linux虚拟机:快速传输文件的方式(linux虚拟机传文件)
- 化运维Linux自动化运维:提高工作效率(linux自动)
- 自检Linux系统硬件自检:确保系统稳定运行(linux系统硬件)
- 定Linux文件:实现自动锁定(linux文件锁)
- Linux发展之路:层出不穷的分支(linux的分支)
- 使用Linux修改Hosts文件的方法(linux更改hosts)
- Linux系统下快速修改hosts文件(linux修改hosts文件)
- Linux之分支:从宏观到微观(linux的分支)
- 「教程」快速了解如何查看 Linux 源代码文件(查看linux源文件)
- 如何在Linux中更改文件后缀名(linux更改文件后缀)
- Linux系统负载:了解负载均衡对系统性能的影响(关于linux系统的负载)
- 探索嵌入式Linux开发,精选优秀工具(嵌入式linux开发工具)
- 排查Linux系统关机慢的原因(linux关机慢)
- 码Linux查看系统序列号:一步轻松解决(linux查看sn)
- 实用教程:学会使用Linux同步文件命令(linux同步文件命令)
- 优化Linux系统:探讨显卡交火技术提升计算机性能(linux显卡交火)
- Linux下解压.z文件:简单易学的操作技巧(linux下解压.z文件)
- Linux 文件扩展名快速显示技巧(linux 显示后缀名)
- 新手如何将本地文件上传至Linux服务器(本地文件上传到linux)