|
|
1
426
我找到另外两个 solutions 假设您需要第20到40行,
或
使用时
|
|
|
2
130
方法3对大文件有效
|
|
|
3
67
grep --context=10 ... |
|
|
4
25
不,没有,文件不能行寻址。 没有固定时间的方法可以找到行的起点 在文本文件中。您必须对文件进行流式处理并计算换行数。
使用最简单/最快的工具来完成这项工作。对我来说,使用
|
|
|
5
21
我没有测试它,但我认为它会起作用。 |
|
|
6
14
我更喜欢直接进入大学
更好的是:击中
在该位置开始编辑(当然是在vim中!)。现在,请注意
|
|
|
7
12
然后对生成的文件进行grep。 |
|
|
8
12
可以使用以下测试文件测试上述命令:
说明:
|
|
|
9
9
|
|
|
10
8
收到
例子:
从…起
|
|
|
11
4
唯一可能的快捷方式是在文件中有上下文/顺序进行操作。例如,如果日志行前面有固定宽度的时间/日期等。 你可以使用 |
|
|
12
4
使用
在这里,您将获得匹配发生的行号。
或者也可以使用“sed”
|
|
|
13
2
具有
|
|
|
14
2
基于Sklivz的回答,我们可以在
|
|
|
15
1
显示一行来自
如果您想要一种更强大的方式来用正则表达式显示一系列行--我不会说为什么grep是这样做的一个坏主意,这应该是相当明显的--这个简单的表达式将在一次传递中显示您的范围,这正是您在处理~20GB文本文件时想要的:
(提示:如果您的正则表达式
这会打印出来
不需要一个向导就能看到一些调整如何使它变得更加强大。 最后一件事:perl是一种成熟的语言,它有许多隐藏的增强功能,以提高速度和性能。考虑到这一点,它使其成为此类操作的明显选择,因为它最初是为处理大型日志文件、文本、数据库等而开发的。 |
|
|
16
0
|
|
|
17
0
使用perl很容易!如果要从文件中获取第1、3和5行,请说/etc/passwd:
|
|
|
18
0
|