for f in ./*.mp3; do sox "$f" "${f%%.mp3}processed.mp3" silence 1 0.02 1% -1 0.02 1%; done
これは私がオーディオファイルを処理するために使用しているスクリプトです。問題は、新しいオーディオファイルも同様にループ処理し続けることです。私は、出力がサブフォルダに行くことによってこの問題を解決したいと思いますので、私はこれを試してみました:バッチスクリプトの先頭の「./」を削除します
for f in ./*.mp3; do sox "$f" "/subfolder${f%%.mp3}processed.mp3" silence 1 0.02 1% -1 0.02 1%; done
これが出力されます:
/subfolder./01processed.mp3
これは私のソックスとの誤差を与えている、私はファイル名の出力の前に./を削除する必要がありますが、どうすればよいでしょうか?これは私がしたいのですが出力されます:あなたは取り除くことができ
/subfolder/01processed.mp3
私はそれを試みましたが、それはまだ動作しませんでしたが、先頭の "。"今それは動作します。 'do sox "$ f" "./subfolder/${f%%.mp3}processed.mp3"サイレンス1 0.02 1%-1 0.02 1%; done ' – Marw
@Marw "。"を追加せず、 "/"を削除します(つまり、サブフォルダ/ $ {f %%。mp3} processed.mp3 "'を使用します)。 –