Linux下三款流行的命令行文件轉換工具
2016-10-20 09:57:00 來源:來源:51CTO.com 評論:0 點擊:
【51CTO.com快譯】最近,一位朋友天真地問我計算機世界中到底共有多少種文件格式。我半認真半開玩笑地回應,“一個湯碗裝滿海灘沙子后對應的沙粒的總數也就是這個世界上文件格式的總數。”
好吧,自然沒有那么多的文件格式(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。
你也有自己最喜歡的命令行文件轉換工具嗎?希望您也能與我們一起分享吧。
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
上一篇:全平臺最佳密碼管理工具大全:支持 Windows、Linux、Mac、Android、iO
下一篇:不可錯過的12款開源的Ruby on Rails開發工具
