grep找到一个字符串,获取前后行,没有显示行号

时间:2013-06-13 00:44:51

标签: grep

最近我需要在文件中搜索特定的字符串,我需要在匹配之前和之后显示该行。

档案

AAAA
BBBB                      
CCCC
DDDD

使用谷歌我发现了以下使用grep的解决方案。

grep -n1 BBBB File

哪个输出,

1-AAAA
2-BBBB
3-CCCC

所以这就是我想要的,除了它在输出中显示行号。

有没有办法抑制行号?

2 个答案:

答案 0 :(得分:5)

使用此:

grep -C 1 BBBB input

grep有三个显示上下文行的选项:

  -A NUM, --after-context=NUM
          Print NUM lines of trailing context after matching lines.  Places a line  containing  --  between  contiguous  groups  of
          matches.
  -B NUM, --before-context=NUM
          Print  NUM  lines  of  leading  context  before matching lines.  Places a line containing -- between contiguous groups of
          matches.
  -C NUM, --context=NUM
          Print NUM lines of output context.  Places a line containing -- between contiguous groups of matches.

答案 1 :(得分:2)

只需删除n

即可
grep -1 BBBB input

还有sed

sed -n 'N;N;/\n.*BBBB.*\n/p' input