“找到”一些文字,包括行前后

时间:2014-09-02 06:12:41

标签: linux

我可以找到包含某些内容的文件。

find /directory -name "*.log" | xargs grep "something"

问题是,它只显示一行,我需要在行前后看到。

似乎没有我需要的选项:http://linux.about.com/od/commands/l/blcmdl1_find.htm

或建议我其他方式。

我在PC上下载了一个日志文件,其大小为1.2GB。我的editplus无法打开它。

2 个答案:

答案 0 :(得分:2)

您可以完全按照自己的方式进行操作,但可以将-A and -B选项添加到grep中。 E.g:

find /directory -name "*.log" | xargs grep -A #above -B #below "something"

#above替换为您希望的匹配数以上的行数,同样将#below替换为您希望在匹配项下看到的行数。

答案 1 :(得分:1)

你可以像这样使用grep -C,假设你想在匹配行之前和之后打印行。

grep -C 1 "something" filename.log