linux - 想将以相同时间戳结尾的文件 tar 到单个 tar
问题描述
我得到了一个日志文件列表,所有这些文件都以时间戳结尾。对于每一天,我都有一堆日志文件都以相同的时间戳结束一周,我有一长串带有时间戳的文件。
挑战是,我想使用 tar 命令来归档以相同时间戳结尾的文件集作为一个 tar 文件。
因此,每天都会相应地得到 tar 文件。
请问我怎样才能做到这一点?某种字符串匹配通配符,我是 linux 新手,请帮忙。
文件示例: 在此处输入图像描述
解决方案
首先,获取唯一时间戳的列表。然后,对于每个时间戳存档具有该时间戳的所有文件:
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 位数字,总是以开头.
和结尾_
(如您的屏幕截图所示)。
推荐阅读
- python - 我需要更快的方法来优化我的循环
- tensorflow - 何时使用 tf.Variable 与 TensorArray
- kubernetes - 为什么 Kubernetes DNS 中没有注册 Pod 名称?
- wordpress - Gridsome条件模板生成
- c# - 如何使用 C# 从 XML API 获取数据
- sql-server - 尝试使用 SQL 枢轴创建行列
- if-statement - Configmap 中的 Kubernetes If/Or 语句
- postgresql - DataGrip 图:从箭头中删除标签?
- sql - 在 PSQL 中编辑连接/连接表结果的结果
- javascript - 如何使用 setinterval 更改多个元素 innerHTML?