我想转储文件中包含“THE_WORD”的行之后的 10 行。
是否有一个巧妙的命令行单行程序可以实现这一点?
我能想到的最好的办法是这样的,但它显示 THE_WORD 之后的所有行,而不仅仅是 10 行:
tail MYFILE -n +`grep -n THE_WORD MYFILE|head -1|sed "s/:.*//"`
答案1
我猜您正在寻找命令的-A
选项。-m
grep
grep -m1 -A10 PATTERN filename
它在文件中查找PATTERN
( ) 的第一次出现,并将匹配后的 10 行包含到结果中。-m1
filename