我有一个目录(/home/myuser/logs
),它包含以下日志文件的最后5天,以获得合计日期时间具有相同的结构,只是不同的数据:猛砸/蟒蛇/ perl的神奇跨越多个日志文件
<timestamp> | <fruit> | <color> | <cost>
因此,例如,applogs_20130402.txt
可能看起来像:
23:41:25 | apple | red | 53
23:41:26 | kiwi | brown | 12
23:41:29 | banana | yellow | 1023
... (etc., every line is pipe delimited like this)
我想创建一个“主日志”,它将所有5个日志文件中的所有日志条目(结构化,管道分隔的行)合并到一个文件中,所有时间戳按时间顺序排列。此外,我还需要反映在时间戳中的日期。
所以,举例来说,如果applogs_20130402.txt
和applogs_20130401.txt
都在目录中只有2个applogs,他们都分别是这样的:
applogs_20130402.txt:
=====================
23:41:25 | apple | red | 53
23:41:26 | kiwi | brown | 12
23:41:29 | banana | yellow | 1023
applogs_20130401.txt:
=====================
23:40:33 | blueberry | blue | 4
23:41:28 | apple | green | 81
23:45:49 | plumb | purple | 284
然后,我想一个masterlog.txt
文件看起来像:
2013-04-01 23:40:33 | blueberry | blue | 4
2013-04-01 23:41:28 | apple | green | 81
2013-04-01 23:45:49 | plumb | purple | 284
2013-04-02 23:41:25 | apple | red | 53
2013-04-02 23:41:26 | kiwi | brown | 12
2013-04-02 23:41:29 | banana | yellow | 1023
我在Ubuntu上,有权访问Bash,python和perl,并且没有使用哪种解决方案的优先权。通常我会尝试一个“最佳尝试”并发布它,但我从来没有在Linux上处理过这样的聚合数据。显然,日志的大小是数千行,与上面的示例不同。所以手动做所有事情都不是一个选项;-)提前致谢!
为什么downvote? – IAmYourFaja 2013-04-03 18:48:49
似乎很容易与一些命令行程序,但你有什么尝试?我没有投票,但我会说这是因为你没有包括你的努力。 – squiguy 2013-04-03 18:50:05
如果你在Windows或Linux上,这并不重要。我不是downvoter,但我认为除了描述问题之外还有一点努力不会受到伤害。 – simbabque 2013-04-03 18:50:08