首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找特定单词出现"grep“的行号

查找特定单词出现"grep“的行号
EN

Stack Overflow用户
提问于 2012-05-15 03:37:32
回答 3查看 129.5K关注 0票数 42

grep是否能够提供指定单词出现的行号?

另外,是否可以使用grep向下搜索从某一行开始的单词?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-15 03:38:20

使用grep -n获取匹配的行号。

我不认为有一种方法可以让grep从某个行号开始。为此,请使用sed。例如,要从第10行开始并打印匹配行的行号和行,请使用:

代码语言:javascript
复制
sed -n '10,$ { /regex/ { =; p; } }' file

要只获取行号,您可以使用

代码语言:javascript
复制
grep -n 'regex' | sed 's/^\([0-9]\+\):.*$/\1/'

或者,您可以简单地使用sed:

代码语言:javascript
复制
sed -n '/regex/=' file

将这两个sed命令组合在一起,您会得到:

代码语言:javascript
复制
sed -n '10,$ { /regex/= }' file
票数 61
EN

Stack Overflow用户

发布于 2012-05-15 04:00:35

您可以调用tail +[line number] [file]并通过管道将其传递给显示行号的grep -n

代码语言:javascript
复制
tail +[line number] [file] | grep -n /regex/

这种方法的唯一问题是,grep -n报告的行号将[line number] - 1小于[file]中的实际行号。

票数 3
EN

Stack Overflow用户

发布于 2012-05-15 08:23:48

或者您可以使用

代码语言:javascript
复制
   grep -n . file1 |tail -LineNumberToStartWith|grep regEx

这将负责对文件中的行进行编号

代码语言:javascript
复制
   grep -n . file1 

这将打印最后一个-LineNumberToStartWith

代码语言:javascript
复制
   tail -LineNumberToStartWith

最后,它将grep您想要的行(它将包含原始文件中的行号)

代码语言:javascript
复制
grep regEX
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10589929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档