2013-06-13 50 views
3

最近我需要搜索文件中的特定字符串,我需要顯示前面的行和匹配後的行。grep找到一個字符串,獲取前後行,沒有行號顯示

文件

 
AAAA 
BBBB      
CCCC 
DDDD 

使用谷歌,我發現使用grep的以下解決方案。

grep -n1 BBBB File 

,輸出,

1-AAAA 
2-BBBB 
3-CCCC 

所以這個我想要做什麼,除了它顯示的行數輸出。

有沒有辦法抑制行號?

回答

2

只需卸下n

grep -1 BBBB input 

sed

sed -n 'N;N;/\n.*BBBB.*\n/p' input 
+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. 
+0

太酷了!這樣,我可以在之前,之後或兩者之間獲得X行數!這將派上用場,謝謝! –

相關問題