Thunar
在 Thunar 和 Dolphin 中呼叫 avconv 的自定義操作
我喜歡使用類似的命令
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
第二個)。在這種情況下,我的目標是使用後者,並假設%%
它將被%
文件管理器替換,因為%
這裡顯然是一個特殊字元。