#!/bin/bash
#业务实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
#
#文件名FilePath 文件内容如下
#bjzhadmin1525416085913/chwj0.jpg,bjzhongh,2018,03
#boangnadmin1523867175489/chwj0.jpg,boang,2018,03
#boangnadmin1523867237581/chwj0.jpg,boangrb,2018,03
#cqdboadmin1523872400061/chwj0.jpg,cqdianb,2018,03
#dhstadmin1530240454562/chwj0.jpg,dahanst,2018,03
#datangadmin1526367335047/chwj0.jpg,datang,2018,03
#feitianadmin1522825520992/chwj0.png,feitian,2018,03
#fenghadmin1524627508674/chwj0.jpg,fenghou,2018,03
#gxadmin1525759701702/chwj0.jpg,gxhyllhz,2018,03
#gzyxnewadmin1523416077332/chwj0.jpg,gzyxnew,2018,03
#gzzqhbadmin1526366655878/chwj0.png,gzzqbmhz,2018,03
#hzjjadmin1542694022549/chwj0.jpg,hangzjj,2018,03
#hzltadmin1526267199291/chwj0.jpg,hangzlt,2018,03
#hzltadmin1526267239897/chwj0.jpg,hangzltds,2018,03
#循环读文件 line的值为每一行的信息
for line in `cat ./FilePath`
do
#要将$a分割开,先存储旧的分隔符
OLD_IFS="$line"
#设置分隔符
IFS=","
#如下会自动分隔 加入数组
arr=($line)
#根据数组下标判断文件是否存在
if [[ ! -f /data/www/flowbilling/${arr[0]} ]];then
#不存在则记录日志 更改路径为从服务器存放路径 后期手动更改文件名 chwj变量 改为 chfile变量
echo "/home/www/flowbilling-report/TuikuanIamges/${arr[0]},${arr[1]},${arr[2]},${arr[3]}" >> qvdaoduizhangdan.txt
#如果文件路径存在,将其放入新路径
else
#创建目录 级联创建 参数代表着 chcode 年份 月份 去掉文件名后的目录
#/data/www/flowbilling/chsettlement/chcode/年份/月份/filename/chwj变量.文件格式
mkdir /data/www/flowbilling/chsettlement/${arr[1]}/${arr[2]}/${arr[3]}/${arr[0]%/*} -p
#复制原文件 到新目录下
cp /data/www/flowbilling/${arr[0]} /data/www/flowbilling/chsettlement/${arr[1]}/${arr[2]}/${arr[3]}/${arr[0]}
fi
done