• 复制一批文件,每个文件名包含日期


    需求是这样的,我们需要补一批excel表(目标时间段内每天一个),每个文件内容都差不多,一个个手动复制显然太low,windows系统又不会写批处理脚本,所以萌发了linux上写脚本修改的想法。

    先捋一下需求

    • 文件名包含那一天的日期
    • 跳过周六周日
    • 最好excel的时间戳也是当天的,计划创建时间是9:00到9:30随机,修改时间是18:00到18:30随机

    脚本如下

    #!/bin/bash
    
    time1=`date -d $1 +%s`
    time2=`date -d $2 +%s`
    time3=$( date -d `date +%F` +%s)
    
    dur1=`echo "(${time3}-${time1})/86400"|bc`
    dur2=`echo "(${time3}-${time2})/86400"|bc`
    
    
    for n in `seq ${dur2} ${dur1}`
    do
        w_num=`date -d "-$n day"  +%w`
        if [ ${w_num} -eq 6 -o ${w_num} -eq 0 ];then
            continue
        else
            dat=`date -d "-$n day"  +%Y%m%d`
            cd /tmp/oo
            cp  xuy.xlsx  xuy.${dat}.xlsx
            second1=$[$RANDOM%60]
            if [ $second1 -lt 10 ];then
                second1=0${second1}
            fi
            second2=$[$RANDOM%60]
            if [ $second2 -lt 10 ];then
                second2=0${second2}
            fi
            min1=$[$RANDOM%30]
            if [ $min1 -lt 10 ];then
                min1=0${min1}
            fi
            min2=$[$RANDOM%30]
            if [ $min2 -lt 10 ];then
                min2=0${min2}
            fi
            touch -a xuy.${dat}.xlsx -t ${dat}09${min1}.${second1}
            touch -m xuy.${dat}.xlsx -t ${dat}18${min2}.${second2}
        fi
    done
    

      

    遗留问题,无论是打包保存到本地,还是sz到本地,时间戳都没有按照预想显示,需要后续修整

  • 相关阅读:
    Mysql集群
    JAVA 经典算法 40 例
    公司面试问题总结
    面试题6
    面试题5
    Java自学-JDK环境变量配置
    mybatis中#{}和${}的区别
    JVM系列(四)— 原子性、可见性与有序性
    JVM系列(三)— Java内存模型
    Java基础拾遗(一) — 忽略的 Integer 类
  • 原文地址:https://www.cnblogs.com/Go-Spurs-Go/p/11413853.html
Copyright © 2020-2023  润新知