工作时我常常需要把一个图片、视频或文本文件转换成其他格式,或者需要把一大堆同样后缀名的文件转换成其他格式,这时,再打开一个软件要么有点得不偿失,要么一个个点按非常繁琐。几番寻找,我发现了下面这些全平台命令行工具,安装后,只要一行命令,就能搞定简单的文件格式转换。

图片:ImageMagick

ImageMagick 是一款几乎全能的图片处理套件,它能完成图片的创建、编辑、对比工作,当然,转换格式也不在话下。软件开源、免费,并且全平台覆盖,在官方网站下载安装对应版本后,在终端输入magick有返回值说明安装成功。推荐使用软件包管理器安装:

# Mac OS 需要安装 Ghostscript fonts
$ brew install ghostscript
$ brew install imagemagick
# Windows 两条命令二选一,需要安装对应的包管理器
$ scoop install imagemagick
$ choco install imagemagick

该工具可以转换所有常用图片格式,例如 PNG、JPG、ICO、SVG。命令行使用非常简单,格式是magick 待转换图片路径 输出图片路径.后缀名,举例来说,将 A.png,转换成后缀为 jpg 的文件,在文件所在目录打开终端,命令为:

$ magick A.png A.jpg

FormatConvert1

对于 Windows 用户,可以使用clipboard:变量表示剪贴版,下面这个命令表示将剪贴板中的图片输出为 B.jpg:

$ magick clipboard: B.jpg #执行此命令请确认剪贴板首位是图片

你也可以使用一些参数对图片进行处理,例如,-resize 表示缩放,-quality 表示输出质量,下面这行命令将 A.jpg 缩小 50%,并以 50% 的质量输出,对图片进行了压缩;

$ magick A.jpg -resize 50% -quality 50 B.jpg

音频、视频:FFmpeg

鼎鼎大名的 FFmpeg 是许多视频播放、剪辑软件的基石。软件本身也能完成视频的录制、转换、串流等一系列工作,你可以从官方网站下载安装包,但同样推荐使用软件包管理器安装,只需要把前文 install 后面的参数改成 ffmpeg 即可。

下面这行命令把 A.mkv 转换成为了 A.mp4,这样才能拖进某些剪辑软件的媒体库进行剪辑:

$ ffmpeg -i A.mkv A.mp4

「-i」后面输入待转换文件,最后填上输出文件名称、格式即可。除了视频格式以及音频格式的的转换,你还可以将视频文件转换为音频文件,这样就可以不用在剪辑软件中「分离音频轨」然后单独保存了,在处理一些 MV 或者语言类节目时非常实用:

$ ffmpeg -i .Revenge.webm demo.mp3 #将 Revenge.webm 这个 MV 转换成了 mp3 歌曲

FormatConvert2

文本:Pandoc

想必你可能在其他文本处理软件中看到过它的身影,这是一款专门转换文本格式的命令行工具。支持的格式非常之多,常用的有 txt、docx、html、pdf、md、pptx,官方还画了一个巨大网状图详细展示了其所有支持的格式。官方下载地址在这里。 PDF 格式转换需要 LaTeX 辅助,安装时按需求一并下载下来:

转换命令为pandoc 待转换文件 -o 输出文件.后缀名,下面两行命令,将 sspai.md 转换成了 word 文档,又把 word 文档转换成了网页文件:

$ pandoc sspai.md -o sspai.docx
$ pandoc sspai.docx -o sspai.html

FormatConvert3

转换效果如下,右边是转换后的 Word 文档:

Formatconvert4

软件还支持读取网页并转换成其他格式,例如,将少数派编辑器使用指南这篇文章转换为本地的 sspai.md,会保留页眉页脚等信息,对于下载一些结构简单的博客十分有用:

$ pandoc https://sspai.com/post/37790 -o author.md

不推荐使用 Pandoc 进行 PDF 处理,因为它会调用其他软件,体验也不太好。更推荐电脑自带的打印功能或者专业软件。

结语

此外,这些工具都支持批量文件处理,你可以使用一些通配符(*,%d等)表示待转换文件,这样就能很快地完成一些重复的工作。

文本介绍的是这些软件初级的用法,对于轻量使用已经足够了,并没有必要了解那么多,复杂需求依靠有 UI 的专业软件会更好,他们可控可调试,也能实时预览效果。但如果想要学习进阶内容,可以翻看官方文档:

  1. imagemagick:https://imagemagick.org/script/command-line-processing.php
  2. ffmpeg:https://ffmpeg.org/ffmpeg.html
  3. Pandoc:https://pandoc.org/MANUAL.html。

(文章头图:https://imagemagick.org/image/wizard.png)