如何在每条匹配的行上打印行号?

我想从文件中提取一些行并输出每个提取行前面的行号。

例如,在名为file输入以下内容

This is line1
This is line2
This is test1
This is test2
This is linex

在我执行perl命令之后

perl -ne 'if (/test/) {print "$_"}' file

我得到这个:

This is test1
This is test2

但我想在行的开头插入行号。

line3: This is test1
line4: This is test2

我如何插入行号?


保留行号的变量是$. ,所以使用它插入在print功能的双引号中:

perl -ne 'if (/test/) {print "line$.: $_"}' file

它产生:

line3: This is test1
line4: This is test2

其实我认为使用grep更容易:

grep -n test file
链接地址: http://www.djcxy.com/p/77069.html

上一篇: How do I print the line number with each matched line?

下一篇: Rails how to get DB column dynamically?