【发布时间】:2017-10-05 23:01:32
【问题描述】:
我已经通过 Google 和 StackOverflow 进行了搜索,但似乎无法找到这个问题的答案。可能是因为我搜索的术语有误,但希望有人能提供帮助!
我有以下类似的文件结构:
/logs/ServiceA/Prod/2017/10/01/11/logFileForHour
/logs/ServiceA/Prod/2017/10/01/12/logFileForHour
/logs/ServiceA/Prod/2017/10/01/13/logFileForHour
/logs/ServiceB/SubService1/Prod/2017/10/01/12/logFileForHour
/logs/ServiceC/SubService1/Prod/Mirror/2017/10/01/12/logFileForHour
/logs/ServiceC/SubService1/Beta/2017/10/01/12/logFileForHour
每小时的文件夹包含来自运行该服务的所有主机的日志汇总。那些小时文件夹被聚合到每日文件夹中,这些文件夹被聚合到每月文件夹中等等。然后日志由 Stage (Prod/Demo/Dev) 聚合,然后由 Service/SubService 进一步聚合。
我需要一种方法来 grep 跨所有 PROD 服务和子服务的通用标识符,并且希望尽可能使用单个 grep 来执行此操作。我知道提出请求的时间。
理想情况下,如果我想要在 2017 年 10 月 10 日 12:00 期间来自所有服务和子服务的所有产品日志,我可以使用以下文件路径:/logs/*/Prod/*/2017/10/01/12/*,但这仅适用于存在每个星号所在的单个文件夹,而实际上第一个星号可能是 1 个或多个文件夹,第二个星号可能是 0 个或多个文件夹。
如果大家能提供任何帮助,我们将不胜感激!
【问题讨论】: