1
laputaprince 2014-09-27 22:08:01 +08:00 2
sed -i -e 1,3d file
1-3 行被删除, in-place 删除。 楼主记得报告一下性能如何。 |
2
cbsw 2014-09-27 22:15:23 +08:00 1
sed 和 awk 就是专门干这种事的,逐行分析日志文件,而不用一次加载整个文件
|
3
RangerWolf OP |
4
xcv58 2014-09-27 22:25:29 +08:00 via Smartisan T1 1
head tail grep awk sed 都可以,看具体需求了。
|
5
xcv58 2014-09-27 22:40:15 +08:00
刚才搜索了一下,在不改动文件系统的前提下,没有小于 O(n) 的方法。
|
6
SoloCompany 2014-09-27 23:13:22 +08:00
既然程序能够识别注释(跳过前几行注释的运行复杂度是 o(0)
你又何苦费尽心思删掉这几行内容? |
9
rrfeng 2014-09-28 00:10:31 +08:00 1
另外如果你这几行是固定内容的话,最快的就是 seek 到需要的行了。没有更快的办法……
不过相对于 10G 来说,前几十行真心可以忽略了吧 |
10
msg7086 2014-09-28 05:46:52 +08:00 via iPhone
不如合理拆开文件,变成几十个小文件呢…
|
11
RangerWolf OP |
12
ryd994 2014-09-28 11:33:00 +08:00
你先读几行看看是不是,如果是,就立刻处理,然后进循环
|
13
ryd994 2014-09-28 11:40:22 +08:00
|
14
xcv58 2014-09-28 14:56:20 +08:00 via Smartisan T1
@RangerWolf head tail 只能显示,不会改动内容。你这种情况我一般用 awk 来处理。
|