找到特定单词出现的行号"grep"

One*_*ree 41 unix grep sed

grep能够提供其上显现指定字的行号的?

此外,是否可以使用grep从某个特定线向下搜索单词?

Tim*_*ote 59

使用grep -n获得匹配的行号.

我认为没有办法让grep开始某个行号.为此,使用sed.例如,要从第10行开始并打印行号和行以匹配行,请使用:

sed -n '10,$ { /regex/ { =; p; } }' file
Run Code Online (Sandbox Code Playgroud)

要获得行号,您可以使用

grep -n 'regex' | sed 's/^\([0-9]\+\):.*$/\1/'
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地使用sed:

sed -n '/regex/=' file
Run Code Online (Sandbox Code Playgroud)

结合两个sed命令,您将获得:

sed -n '10,$ { /regex/= }' file
Run Code Online (Sandbox Code Playgroud)