linux中用脚本复制多个带日期文件,并修改文件内日期与文件名日期一致

  1. List item

思路:首先截取文件名中日期,再对日期累加,拼接出文件,把原文件内容写到新文件中,然后修改新文件内日期与文件名中日期一致。
假设有文件/home/cs/hb_20210601_cswj. txt
将该文件复制为hb_20210601_cswj. txt~hb_20210630_cswj. txt,按六月份日期的30个文件,并将文件里的日期和文件名日期一致。
脚本:cp_cs.sh
内容
#! /bin/sh cd /home/cs/ file=hb_20210601_cswj. txt co=${file#*_} date=${co%_*} j=$1 for((i=0;i<j;i++)) do date1=$(expr $date + $i) cp $file /home/cs/hb_${date1}_cswj. txt file2=/home/cs/hb_${date1}_cswj. txt cat $file > $file2 sed -i 's/'${date}'/'${date1}'/g' $file2 done
只需要执行cp_cs.sh 30,便可以复制六月份的30个文件。
这是我想到的,并执行成功了,或许有更简介的方法,一起讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值