フォルダ内のすべてのm4aファイルを繰り返し処理し、mp3にエンコードする簡単なスクリプトを作成しています。私は実行速度を上げ、私のPCのすべてのコアを利用するために、別のスレッドでファイルのエンコーディングを行いたいので、バックグラウンドにタスクを送信しています。 とにかく、私はがありません。そのようなファイルやディレクトリはありませんファイルがあるにもかかわらず、エンコードしたいすべてのファイルに対してエラーが発生しました。面白いのは、端末にまったく同じ命令をコピーすると、正しく実行されるということです。私は何が間違っているのか調べるのを手伝ってもらえますか?ファイルが見つからないBashスクリプト
ありがとうございます。
#!/bin/bash
function encode {
echo "<<<<<<<<<<<encode>>>>>>>>>>>>>>>>"
cd "$1"
find . -mindepth 1 -maxdepth 1 | while read f
do
if [ -f "${f}" ]
then
if [ ${f: -4} == ".m4a" ]
then
if [ ! -d "converted" ]
then
mkdir converted
fi
newPath="${f%m4a}mp3"
echo "ffmpeg -i \""$f"\" -ac 2 -b:a 320k -y \""$newPath"\" </dev/null >/dev/null &"
ffmpeg -i \""$f"\" -ac 2 -b:a 320k -y \""$newPath"\" </dev/null >/dev/null &
fi
elif [ -d "${f}" ]
then
echo "folder $f"
encode "$f"
fi
done
}
encode "$1"
引用が多すぎます。 – chepner