找到了这段代码(https://github.com/Topslakr/x32Live-CleanUp/blob/master/Delete_Silent),它在 Cygwin 中运行得很好,可以满足我的需要,但是,我想让它也运行在所有子目录。一直在寻找,尝试各种事情,但没有任何效果。顺便说一句,我不是 Linux 人。
我知道需要更改的是第一行:
for wav in *.wav
do
V=$($sox "$wav" -n stat 2>&1 | grep "Maximum amplitude" | cut -d ":" -f 2 | sed 's/ //g')
if [[ $(echo "if ("$V" > "$MAX") 1 else 0" | bc) -eq 0 ]]
then
if [ $safe = 0 ]
then
echo "Deleting Data"
rm -rfv "$wav"
else
echo "Running in Safe Mode"
echo "Would delete $wav";
fi
else echo "File $wav not slient"
fi
done
我确实可以通过将行更改为:
使其在特定级别的子目录中工作for wav in */*/*.wav
但是我有不同级别的子目录,如果我可以为每个相应级别的子目录运行一个代码而不是多个代码,那就太好了。有人知道解决方案是什么吗? (谢谢!)