使用 grep 打印行号

Jus*_*tin 1 grep

我想使用 grep 命令打印我正在搜索的字符串的行号。但是,当我使用该命令时,grep -n它会打印带有冒号 : 旁边的行号。有什么办法可以使用相同的grep -n命令来打印行号,后面跟着 : 冒号?

$ grep -n 'Captain' sometextfile.txt
3: Captain America
Run Code Online (Sandbox Code Playgroud)

我希望它改为打印,

3 Captain America
Run Code Online (Sandbox Code Playgroud)

(没有 ':' )

有什么建议??

Roh*_*van 5

您可以使用sedwithgrep来实现此目的。

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

此 sed 命令查找模式:并将其替换为(空格)。

一般语法 - sed 's/find/replace/'

此方法将仅替换:每行中第一次出现的。因此,即使文本文件中的一行包含:,它也不会受到影响。