在匹配前后grep 20个字符

Léo*_* 준영 17 osx grep

我的问题是我在比赛后获得了太多信息

grep -RnisI --color=auto "pseudomonas" *
Run Code Online (Sandbox Code Playgroud)

我只想在比赛前后获得 20 个字符或 10 个单词。

做这种事情的正确工具是什么?

小智 27

cat file.txt | grep -o -P '.{0,20}string.{0,20}'
Run Code Online (Sandbox Code Playgroud)

这应该为你做

更新:

如果你不想 cat,你可以使用带有文件的 grep 作为参数:

grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html
Run Code Online (Sandbox Code Playgroud)

此外,-P 使用 Perl Regex,手册页说这是实验性的,如果您想避免使用该标志,您可以使用 egrep 代替:

grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt
Run Code Online (Sandbox Code Playgroud)