如何在终端中循环命令(来自mkvmerge)

时间:2016-05-22 13:24:02

标签: macos loops terminal

我有mkvmerge命令,但它只用于一个文件 如何为文件夹中的所有文件循环? (所有文件都是mkv)

这是命令

/Applications/MKVToolNix-8.9.0.app/Contents/MacOS/mkvmerge --ui-language en_US --output '/Users/arashranjbar1/Downloads/[AC] Fairy Tail Complete [Dual Audio][BD][720p][Lucifer22]/Series/Fairy Tail - 001 (1).mkv' --language 0:und --track-name 0:AVC-HD --default-track 0:yes --language 1:eng --track-name 1:AAC --language 2:jpn --track-name 2:AAC --default-track 2:yes --language 3:eng --track-name 3:ASS --language 4:jpn --track-name 4:ASS --language 5:per --track-name 5:Persian --default-track 5:yes '(' '/Users/arashranjbar1/Downloads/[AC] Fairy Tail Complete [Dual Audio][BD][720p][Lucifer22]/Series/Fairy Tail - 001.mkv' ')' --track-order 0:0,0:1,0:2,0:5,0:3,0:4

1 个答案:

答案 0 :(得分:0)

使用简单的循环应该可行:

for f in *.mkv
    do
        /Applications/MKVToolNix-8.9.0.app/Contents/MacOS/mkvmerge --ui-language en_US \
        --output "$f" --language 0:und --track-name 0:AVC-HD --default-track 0:yes \
        --language 1:eng --track-name 1:AAC --language 2:jpn --track-name 2:AAC \
        --default-track 2:yes --language 3:eng --track-name 3:ASS --language 4:jpn \
        --track-name 4:ASS --language 5:per --track-name 5:Persian \
        --default-track 5:yes '(' '"$f"' ')' --track-order 0:0,0:1,0:2,0:5,0:3,0:4
    done