本篇主要介绍bash脚本中对于含空格文件处理方式。
在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不能被处理;
#$1: 遍历的文件夹
rootDir=$1
cd $rootDir
allAudioFile=$(find $1 -name "*\.mp3")
for oneAudioFile in $allAudioFile
do
mv -f $oneAudioFile $rootDir
done
通过set -x将执行信息打印出来,发现可以执行到,但是执行过程提示找不到对应的文件名,mv对应的source文件并不是原本的文件名,通过对比发现原来是文件名中含有空格,导致在for循环的过程中并没有将完整的文件名取出