在包含 X 的行之后转储文件的下 N 行的终端命令?

Tum*_*d53 2 command-line text-processing

我想在包含“THE_WORD”的行之后转储文件的 10 行。

是否有一个聪明的命令行单行程序?

我能想到的最好的是这个,但它显示 THE_WORD 之后的所有行,而不仅仅是 10:

tail MYFILE -n +`grep -n THE_WORD MYFILE|head -1|sed "s/:.*//"`
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 6

我猜您正在寻找命令-A-m选项grep

grep -m1 -A10 PATTERN filename
Run Code Online (Sandbox Code Playgroud)

它在文件中查找PATTERN( -m1) 的第一次出现,filename并在匹配后包含 10 行到结果中。