gpt4 book ai didi

linux - 合并、排序、维护行序

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:36 25 4
gpt4 key购买 nike

这听起来很矛盾。所以让我解释一下。我有许多使用 log4j 写入不同文件并轮换的日志文件。我想做的是将它们合并成更少的文件。

我是如何开始这样做的:
- 使用 awk 将多行条目合并到一个单独的文件中。
- cat awk 输出文件到 1 个文件。
- 排序 cat 文件
- awk 分隔连接的行。

但我看到排序是将具有相同秒/毫秒的条目按与它们在原始输出文件中出现的顺序不同的顺序排列。这可能不是什么大不了的事。但是,我不喜欢它。关于我如何去做我想做的事(在排序时保持原来的行顺序)有什么想法吗?我宁愿不编写自己的程序,并希望尽可能使用 native linux utils。但是,我对执行此操作的“最佳”方式持开放态度(Perl、Python 等)。

我考虑过将输出文件从最高到最低排序(log4j 轮换文件),这样我就不必排序了。但这只能解决写入同一日志文件(file1.0.log、file1.1.log 等)的文件的问题。但这在需要将 file2 与 file1 合并时无济于事。

谢谢,格雷格

最佳答案

你说的是“稳定”排序。 sort 上有一个 -s 选项,它应该可以满足您的需求。

Stability in sorting algorithms

关于linux - 合并、排序、维护行序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com