首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用grep打印行号

使用grep打印行号
EN

Ask Ubuntu用户
提问于 2014-12-10 17:45:38
回答 4查看 11.6K关注 0票数 1

我想使用grep命令为我正在搜索的字符串打印一个行号。但是,当我使用命令grep -n时,它会用冒号打印行号:旁边。是否可以使用相同的grep -n命令打印行号,并在行号后面加上:冒号?

代码语言:javascript
复制
$ grep -n 'Captain' sometextfile.txt
3: Captain America

我想把它印出来,

代码语言:javascript
复制
3 Captain America

(没有“:”)

有什么建议吗?

EN

回答 4

Ask Ubuntu用户

回答已采纳

发布于 2014-12-10 17:56:49

您可以使用sedgrep来实现这一点。

grep -n 'Captain' sometextfile.txt | sed 's/:/ /'

这个sed命令找到模式:并用(空格)替换它。

通用语法- sed 's/find/replace/'

这种方法将只取代第一次出现的:在每一行。因此,即使文本文件中的一行包含:,它也不会受到影响。

票数 5
EN

Ask Ubuntu用户

发布于 2014-12-10 18:06:29

如果您只想删除冒号(而不是用空格替换它),可以通过tr传输grep语句的输出。你的命令应该是:

grep -n 'Captain' sometextfile.txt | tr -d ':'

如果要用空格替换冒号,可以使用:

grep -n 'Captain' sometextfile.txt | tr ':' ' '

不过,就像杂音指出的那样,这样做可以去掉任何冒号。

票数 1
EN

Ask Ubuntu用户

发布于 2014-12-10 18:00:54

你能试试这个命令对你有帮助吗?

代码语言:javascript
复制
awk '/Captain America/ {printf "%s %s\n", NR, $0}'
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/558922

复制
相关文章

相似问题

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