如何通过终端在一个大文件中找到一个字符串(以及前后的一些行)?

Auf*_*ind 2 command-line files find

我想在一个非常大的文件中的某个字符串前后显示三或四行,我无法用 vi 打开。这是怎么做的?

我试过了

grep -i -n -r 'mysearchstring'
Run Code Online (Sandbox Code Playgroud)

但这只给了我一行。我需要前后几行来获取上下文!

谢谢!

我曾经见过一个终端命令,它可以做到这一点,但我忘记了,我再也找不到了。:/

Flo*_*sch 5

将 grep 与-A(匹配后显示多少行)和-B(匹配前显示多少行)参数一起使用:

grep -i -n -r -A 4 -B 4 'mysearchstring' file.xml
Run Code Online (Sandbox Code Playgroud)

  • 我建议可以将 `-A4 -B4` 缩短为 `-C4`。 (2认同)