我试图提取的脚本应该将文件移动到目标文件夹,并根据以 YYYY-MM-DD 开头的文件名将它们放置在“年/月/”文件夹中。
例子:
2013-08-03-image_name.png -> ~/B/uploads/2013/08/2013-08-03-image_name.png
2012-01-01-image_name.png -> ~/B/uploads/2012/01/2012-01-01-image_name.png
行动计划
(1)设置路径变量
source=~/Desktop/A/
targetPath=~/Desktop/B/uploads/
(2)对中的每个文件执行这些操作$source
cd "$source";
for i in *.png
do
# STEP 3
# STEP 4
done
(3) 第三步:图像优化 √</p>
(4)第 4 步:将文件归档到包含日期名称的目录
(4a)通过在文件名中搜索日期字符串 ^(\d{4})-(\d{2})
并创建$datePath
,参见datePath=2013/08/
。我把它想象成这样……</p>
awk -F … somehow put the regex here with a search and replace "-" into "/"
and save it as a variable.
(4b)如果目标目录不存在,则创建新的目标目录并将文件移动到那里。
targetDir=$targetPath$datePath
mkdir -p $targetDir
mv -v "$i" "$destination"
PS:Bash 会很好。