2010-10-28 24 views
0

嗨,我想我送許多不同的MP3的,像一個數組SOX例如發送多個MP3的SOX法案

襪1.MP3 2.MP3 N.mp3 out.mp3
SOX num1.mp3 NUM2。 mp3 numN.mp3 out2.mp3
sox n1.mp3 n2.mp3 nN.mp3 out3.mp3

我怎麼能一次發送所有這些?或者我可以不這樣做嗎?

回答

0

如果你正在使用bash:

for f in *.mp3; { sox $f out$f; } 
+0

不然方式通過exec來做到這一點在PHP() – james 2010-10-28 20:11:46

+0

在PHP中,當你將它傳遞給exec()時,你必須在單引號之間加上這個命令。 – 2010-11-01 00:34:25

0

對於短名單:

sox {1,2,N}.mp3 out.mp3 
sox num{1,2,N}.mp3 out2.mp3 
sox n{1,2,N}.mp3 out3.mp3 

對於範圍:

sox File{1..42}.mp3 out4.mp3 
+0

這似乎工作得很好。 – james 2010-10-28 20:03:10

+0

有沒有什麼辦法可以通過使用exec()來實現這個功能,通過執行exec(「./sox 1.wav 2.wav out.wav」) – james 2010-10-28 20:03:42

+0

@james:大括號擴展由shell執行。你可能會讓PHP告訴shell運行該命令,因此它會進行擴展。然而,我建議你在PHP中使用一個循環來構建一個字符串,並將其傳遞給'exec'。你可能應該在你的問題中說過你真的想用PHP來做這件事,而不是標記'[shell]'這個問題。 – 2010-10-28 20:35:38