2016-08-18 80 views
0

讓利匹配下一行,說我有一個文件:打印時模式

aaaaaaa 
bbbbbbb 
ccccccc 

現在我想搜索BBBBBBB,當我拿到賽,我想從下一行,在這種情況下是CCCCCCC得到的結果。我正在查看grep手冊頁和bash內部解析函數,但找不到與此情況相關的任何內容。任何人都知道我怎麼能做到這一點?

感謝,

+0

'而IFS =讀-r線; do [[$ line == bbbbbbb]] && IFS = read -r line && echo「$ line」;完成 Cyrus

+0

你想要什麼時候yhe第二行也是'bbbbbbb'? –

回答

0

看那-A選項grep - 它會列出以下行。例如: -

grep -A1 bbbbbbb 

儘管這將列出B的和C的...所以你可以這樣做:

grep -A1 bbbbbbb | grep -v bbbbbbb 

排除B的。

2

隨着GNU sed的:

sed -n '/bbbbbbb/{n;p}' file 

輸出:

 
ccccccc 
1

這裏是一個awk的解決方案,可能是

awk 'f{print;f=0} /bbbbbbb/{f=1}' file 
ccccccc 

使用grep也許

cat file | grep "bbbbbbb" -A1 | tail -n 1 
ccccccc 
0

使用有益GAWK/AWK:

gawk '/bbbbbbb/ { getline; print $0 }' file