最近我需要在文件中搜索特定的字符串,我需要在匹配之前和之后显示该行。
档案
AAAA BBBB CCCC DDDD
使用谷歌我发现了以下使用grep的解决方案。
grep -n1 BBBB File
哪个输出,
1-AAAA
2-BBBB
3-CCCC
所以这就是我想要的,除了它在输出中显示行号。
有没有办法抑制行号?
答案 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