我一直试图弄清楚这一点。我已经阅读了多个线程,感觉我已经很接近了,但是脚本并没有放在一起。
场景:我有一个媒体服务器和数千个电影文件。每个电影文件都有各种附件文件,例如封面图稿、数据库信息、同人图和预告片。虽然目录中的所有内容都有封面和数据库信息,但有些文件可能有也可能没有各自的同人图或预告片。对于这些文件,我试图让这个脚本工作,它将创建一个空的“虚拟”文件来代替应该存在的文件。然后当我真正有时间时,我可以回去只搜索虚拟文件并努力填补我可以填补的空白。
这是我到目前为止所拥有的。
#!/bin/bash
find . -type f -print0 | while read -d $'\0' movie ;
do
echo $movie
moviename=${movie%\.*} #remove the extension from the string
moviename1=`echo $moviename | sed 's/\ /\\ /'` #add escaped spaces to the string
echo $moviename1 #echo the string (for debugging)
if [ ! -f $moviename-fanart* ]; #because the fanart could be .jpg, or .png, etc
then
echo "Creating $moviename-fanart.dummy"
touch "$moviename-fanart.dummy"
fi
if [ ! -f $moviename-trailer* ]; #because tralers could be .mp4, .mov, .mkv, .avi, etc
then
echo "Creating $moviename-trailer.dummy"
touch "$moviename-trailer.dummy"
fi
done
这应该很简单,但我认为我没有为进入测试运算符的输入字符串获得正确的格式。
任何帮助将不胜感激。
谢谢