是否grep
能够提供指定单词出现的行号?
另外,是否可以grep
用于从某行向下搜索单词?
用于grep -n
获取匹配的行号。
我认为没有办法让 grep 从某个行号开始。为此,请使用 sed。例如,要从第 10 行开始并打印匹配行的行号和行,请使用:
sed -n '10,$ { /regex/ { =; p; } }' file
要仅获取行号,您可以使用
grep -n 'regex' | sed 's/^\([0-9]\+\):.*$/\1/'
或者你可以简单地使用 sed:
sed -n '/regex/=' file
结合这两个 sed 命令,您将获得:
sed -n '10,$ { /regex/= }' file
您可以调用tail +[line number] [file]
并通过管道grep -n
显示行号:
tail +[line number] [file] | grep -n /regex/
此方法的唯一问题是报告的行号grep -n
将[line number] - 1
小于[file]
.
或者您可以使用
grep -n . file1 |tail -LineNumberToStartWith|grep regEx
这将负责对文件中的行进行编号
grep -n . file1
这将打印 last-LineNumberToStartWith
tail -LineNumberToStartWith
最后它将 grep 您想要的行(其中将包括原始文件中的行号)
grep regEX