如何按文件名列出文件作为日期?

时间:2016-12-21 03:36:11

标签: bash shell unix rhel

我有文件名列表,其格式类似于_ddmmyyyy.txt 例如:

filea_01122016.txt
filea_02122016.txt
filea_03122016.txt
filea_04122016.txt
filea_05122016.txt

我想在sysdate中压缩这些文件 - 在RHEL环境中3天。假设今天是2016年12月5日,我想压缩那些文件从日期2月12日开始,1月12日开始。因为Im使用的日期来自文件名而不是文件的时间戳(由系统创建)。

我读了一些他们正在使用find实用程序的教程,但在我的情况下,我使用文件名中的日期。

我已经制作了一些像这样的机制来整整一个月压缩文本

dir=`date '+%Y%m%d'`

tanggal=`date --date="$(date +%Y-%m-15) -1 month" '+%Y%m'`

base=/inf_shr/ProcessedSrc/CDC/ARCHIVE/F_ABC
cd $base

mkdir $dir
cp ../../F_CC/*${tanggal}* $dir

tar cvf - $dir | gzip -9 - > ${tanggal}_F_CC.tar.gz

rm -rf $dir
rm -rf ../../F_CC/*${tanggal}*

现在我想用sysdate压缩文件 - 3天*)抱歉我的英文

代码的想法? 谢谢

1 个答案:

答案 0 :(得分:0)

TL; DR ,但下面是我的方法

plt.plot(x,y)
plt.show()