2

トレントのダウンロードが終了したときに実行され、FLAC オーディオ ファイルがあるかどうかを確認し、ある場合は MP3 に変換するスクリプトがあります。今日まで私は使用しました:

for file in "$torrentpath"/"$torrentname"/*.flac
do
    ffmpeg -i "$file" -qscale:a 0 "${file[@]/%flac/mp3}"

done

しかし、トレントにサブディレクトリが含まれている場合、スクリプトは役に立たないことに気付きました。ここ数日、「find」や「if」などをいじってみましたが、答えがわかりません。私はそれがそこにあることを知っています。

スクリプトは、サブディレクトリがあるかどうかをテストし、それらに対して ffmpeg を実行する必要があります。それ以外の場合は、変換を直接実行します。

少しでもヒントをいただければ幸いです。

4

2 に答える 2

3

bash で任意のサブディレクトリを処理するには:

shopt -s globstar nullglob
for file in "$torrentpath/$torrentname"/**/*.flac
do ...
于 2013-11-14T20:31:34.877 に答える
0
find "$torrentpath"/"$torrentname" -name '*.flac' -print | while read file; do
    ffmpeg -i "$file" -qscale:a 0 "${file[@]/%flac/mp3}"
done
于 2013-11-14T20:41:31.100 に答える