Bash - 查看具有相应行号的文件中的特定行

时间:2014-04-09 07:50:28

标签: bash awk grep

我可以查看文件中的所有行,例如" address.addr_book"用;

awk '{printf "%d\t%s\n", NR, $0}' < address.addr_book

这个回声所有行都有行号。

e.g。

1      John ; 23 ; Male                             
2      Mary ; 42 ; Female

但是我希望每次只能看约翰。

我可以查看&#34; John&#34;没有行号。

grep -i John address.addr_book

我想知道如何查看他或任何特定记录,包括行号。

谢谢

3 个答案:

答案 0 :(得分:3)

您可以grep -n打印行号:

grep -i -n John file

或awk做类似的事情:

awk '/John/{print NR, $0}' file

请注意,这将匹配任何包含John的模式,您需要相应地修改模式。

答案 1 :(得分:1)

使用awk

awk '$1=="John" {printf "%d\t%s\n", NR, $0}' < address.addr_book

答案 2 :(得分:0)

只是为了好玩:

< address.addr_book nl -ba | awk /John/