我正在尝试从两组字符之间的文件中的每一行中提取一个子字符串:
输入文件中的每一行是:
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编号的输出文件中获取此列表? 感谢您的反馈
答案 0 :(得分:1)
选项-n
负责行号。你只需要删除它:
grep -Po 'github.com\/\K.*?(?= \|)' ~/Desktop/forksonGithub.txt
myname/repo1
myname/repo2
myname/repo3
...
myname/repoN