背景:在公司某个平台链接下载后,是一堆带有文件带有后缀的文件,要进行切割,判断是那个类型的包及相应的处理。
#!/bin/bash
# ********************************************************************************
# 程序名称: 下载雷鸟增量数据流程二
# 功能描述: 将下载的数据进行切割,重命名,解压到loadData目录中
# 输入参数:
#
# 输入资源:
# 输出资源:
#
# 中间资源:
# 创建人员: csq
# 创建日期:
# 版本说明:
# 修改人员:
# 修改日期:
# 修改原因:
# 版本说明:
#
# ********************************************************************************
# ********************************************************************************
#
time=`date -d @date -d today +'%Y-%m-%d'`
cd /home/work/loadTemp;
{
for file in /home/work/loadTemp/*;
do
#获取文件名,注意遍历出来file带路径
fileName=${file##*/} ;
#按标识符切分,取想要的那一部分
name=`echo $fileName | cut -d '?' -f 1 `;
echo $name
#将下载的文件重命名成自己对应的文件包
mv $file /home/work/loadTemp/$name ;
#将此文件解压到目的目录中
if [ ${name##*.} = gz ] ; then
TEMP=${name%.*}
if [ ${TEMP##*.} = tar ] ; then
tar -zxvf ${name} -C /home/work/loadData/
echo "This is a tar.gz package"
else
gunzip ${name} >> /home/work/loadData/${TEMP}
echo "This is a gz package"
fi
elif [ ${name##*.} = log ] ; then
mv $name /home/work/loadData
echo "This is a log"
fi
#磁盘空间小,清空这此目录下那些包。
rm -rf /home/work/loadTemp/*
echo "-----------------------"$time "finsh" $file "-------------------------------";
done
}