判断多个文件是否存在,并作相应处理

本文介绍了一种脚本方法,用于判断新接收的多个文件是否已解析,若未解析则进行解析并添加时间后缀备份,避免重复工作。主要关注文件路径管理:ljc_000in解析、ljc_000bak备份,以及ljc_0001存放已解析文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、遇到的问题:接收多个不同文件,判断这些文件是否解析过,如果解析过就不再解析,反之解析,文件解析后会带时间后缀存放在备份路径。

#新文件类型:CS_20220622_CSFile.txt、CS_20220622_File.txt...
#备份文件类型:CS_20220622_CSFile.txt_20220622120000、CS_20220622_File.txt__20220622150000...

2、准备:ljc_000in为解析路径文件夹,ljc_000bak为解析后备份文件夹,ljc_000为文件接收路径,ljc_0001为判断解析过的文件存放路径。

#! /bin/bash
#新文件类型:CS_20220622_CSFile.txt、CS_20220622_File.txt...
#备份文件类型:CS_20220622_CSFile.txt_20220622120000、CS_20220622_File.txt__20220622150000...
#获取新文件
cd $home/ljc_000
file_new="*txt*"
#遍历新文件
for file_newName in ${file_new}
do
   #获取解析后的备份文件
   cd $home/ljc_000bak
   file_bak ="*txt*"
   #遍历解析后的备份文件
   for  file_bakName in ${file_bak}
   do
     #将备份文件名截取后与新文件名对比
     if [ ${file_newName} == ${file_bakName%_*} ];then
       cd $home/ljc_000
       #如果文件名一样就不再解析,存放其他路径下
       mv ${file_newName} $home/ljc_0001
     fi
   done
   #处理文件名不相同文件
   cd $home/ljc_000
   fileNum=`ls -l|grep ${file_newName}|wc -l`
   #如果文件名不相同文件存在,就放到解析路径
   if [ ${fileNum} -ge 1 ];then
     mv ${file_newName} $home/ljc_000in
   fi
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值