我正在努力保持一些媒体文件的组织 - 从命名约定到文件夹层次结构。这些文件保存在服务器上,因此将其作为cron运行是最好的选择。主要问题是一些图像,取决于谁采取它们,没有适当的名称。
我目前拥有的文件夹结构是:
Landscapes (2012)
Buildings (2013)
Contemporary Designs (2014)
etc.
文件保存为:
Landscapes 010 (2012).jpg # correct
Landscapes 011 (2012).jpg # correct
Landscapes (2012) 012 (Regional_Airport).jpg #sometimes happens and need to delete the (Regional_Airport)
我的脚本编写能力相当有限,但是在弄乱Hazel的时候发现了这个(这是一个有限的选项,因为我的电脑不会整天待在一起)。
#!/bin/bash
RootFolder=/Volumes/image_store
# split only on new line
OLDIFS="$IFS" # save it
IFS="
"
file="$1"
for folder in $(ls -1 $RootFolder/) ; do
ufolder=`echo $folder | tr "[:upper:]" "[:lower:]"`
ufile=`echo $file | tr "[:upper:]" "[:lower:]"`
if grep -q $ufolder <<< $ufile ; then
mv $file to $RootFolder/$folder
/usr/local/bin/growlnotify -m "Moved $file to $folder in Image_Store" ImageMover
exit 0
fi
done
IFS=OLDIFS