【发布时间】:2017-05-06 09:34:21
【问题描述】:
我有文件名列表,格式如下 _ddmmyyyy.txt 例如:
filea_01122016.txt
filea_02122016.txt
filea_03122016.txt
filea_04122016.txt
filea_05122016.txt
我想在我的 RHEL 环境中从 sysdate 压缩这些文件 - 3 天。假设今天是 2016 年 12 月 5 日,我想从 12 月 2 日、12 月 1 日开始压缩这些文件。因为我使用的日期来自文件名而不是文件创建的时间戳(由系统)。
我阅读了一些教程,他们正在使用 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 天 *)对不起我的英语
代码的想法是什么? 谢谢
【问题讨论】:
-
切片、拆分、追加、转换、连接和字符串。我就是这么想的。
-
是的,伙计。我只想知道像 ls -lh 这样的脚本,它可以像我上面提到的那样列出
-
你试过什么?我们这里的大多数人都很乐意帮助你提高你的手艺,但作为短期无偿编程人员不太乐意。在MCVE 中向我们展示您迄今为止的工作、您期望的结果和您得到的结果,我们将帮助您解决问题。
-
大家好,谢谢您的建议。我已经列出了这样的列表,用于压缩格式为年和月的文件,这是我的代码,当我为所有具有年月的 txt 文件压缩文件时 dir=
date '+%Y%m%d'tanggal=date --date="$(date +%Y-%m-15) -1 month" '+%Y%m'base=/info_share/ProcessedSrc/CDC/ARCHIVE/ F_CC 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 天 *)对不起对于我的英语