Thunar

在 Thunar 和 Dolphin 中呼叫 avconv 的自定義操作

  • September 14, 2015

我喜歡使用類似的命令

avconv -i %f -map 0:1 -c:a copy %f.m4a

在 Thunar 或 Dolphin 的自定義操作中,無需轉碼即可從 mp4 和 flv 中提取音頻。

但這將輸出一個包含輸入文件副檔名的名稱:

從影片“name.mp4”中,我得到一個名為“name.mp4.m4a”的音頻文件。

如何調整命令以使輸出為“name.m4a”?

您可以通過 bash 執行命令來使用 bash 的字元串操作功能:

bash -c 'avconv -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f

(我假設您的文件管理器會將文件名foo bar.mp4作為單個參數傳遞。)

請注意,bash兩者兼有${var%%suffix}-${var%suffix}前者是貪婪的(foo.bar.mp4將成為foo第一個和foo.bar第二個)。在這種情況下,我的目標是使用後者,並假設%%它將被%文件管理器替換,因為%這裡顯然是一個特殊字元。

引用自:https://unix.stackexchange.com/questions/229620