2016-10-19 117 views
0

一旦我有兩個文件類型相同的文件名中的一個目錄中的兩個變量:環路與在猛砸

file1.ts 
file1.ec3 
file2.ts 
file2.ec3 

,我需要做一個循環將處理對文件進行一次(file1.ts + file1.ec3)。 然後循環需要用第二對(file2.ts + file2.ec3)重新啓動。

這裏是我的代碼:

for i in *.ts; do 
    for e in *.ec3; do 
     ffmpeg -i "$i" -i "$e" -map 0:v -map 1:a -codec copy "${i%.ts}_DD+.ts"; 
    done; 
done 

但是,當第一循環結束嘗試處理file1.ts + file2.ec3和剎車一切...

我怎樣才能使其正常工作?

回答

3

試試這個:

for file in *.ts; do 
    [ -f "${file%.ts}.ec3" ] && 
     ffmpeg -i "$file" -i "${file%.ts}.ec3" -map 0:v -map 1:a \ 
      -codec copy "${file%.ts}_DD+.ts" 
done 
+0

太好了!它爲我工作!謝謝! – Sumiser