grep:如何在没有编号行的文件中输出结果?

时间:2016-10-20 10:30:03

标签: grep

我正在尝试从两组字符之间的文件中的每一行中提取一个子字符串:

输入文件中的每一行是:

https://github.com/myname/repo1 | GitHub - repo description
https://github.com/myname/repo2 | GitHub - repo description
https://github.com/myname/repo3 | GitHub - repo description
....
https://github.com/myname/repoN | GitHub - repo description

我在" https://github.com/"之间提取子字符串。和" | GitHub的"得到:

 myname/repo1
 myname/repo2
 myname/repo3
 ...
 myname/repoN

我使用GNU grep。 :

 grep -nPo 'github.com\/\K.*?(?= \|)' ~/Desktop/forksonGithub.txt

这将在控制台中显示行号

的正确列表
 1:myname/repo1
 2:myname/repo2
 3:myname/repo3
 ...
 4:myname/repoN

如何在没有lin编号的输出文件中获取此列表? 感谢您的反馈

1 个答案:

答案 0 :(得分:1)

选项-n负责行号。你只需要删除它:

grep -Po 'github.com\/\K.*?(?= \|)' ~/Desktop/forksonGithub.txt
myname/repo1
myname/repo2
myname/repo3
...
myname/repoN