如何解决想要将以相同时间戳记结尾的文件压缩到单个tar中
我得到了一个日志文件列表,所有这些文件都以时间戳记结尾。 对于每一天,我有一堆日志文件都以相同的时间戳记结尾 一个星期以来,我的文件清单很长,都带有时间戳。
挑战在于,我想使用tar命令来归档一组与一个tar文件具有相同时间戳的文件。
Henc最终每天都会得到tar文件。
请问如何实现?某种类型的字符串匹配通配符,请使用Linux,这是我的新手。
文件示例: enter image description here
解决方法
首先,获取唯一时间戳的列表。然后,对于每个时间戳,请存档具有该时间戳的所有文件:
printf %s\\n *.log | grep -Eo '\.[0-9]{8}_' | tr -d ._ | sort -u | while read timestamp; do
tar cf "$timestamp.tar" ./*"$timestamp"*.log
done
在这里,我假设时间戳记总是8位数字,总是以.
开头,总是以_
结尾(如屏幕截图所示)。
# get all dates
all_date=`find -type f | awk -F '_' '{print $2}'`
# make a dir to save tar files
mkdir tarfiles
# archive
for d in $all_date ; do
tar zcvf tarfiles/$d.tar.gz *$d*
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。