Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
grep:如何在没有编号行的文件中输出结果?_Grep - Fatal编程技术网

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

grep:如何在没有编号行的文件中输出结果?,grep,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

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

输入文件中的每一行都是:

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
我提取“”和“|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编号,如何在输出文件中获取此列表?
感谢您的反馈选项
-n
负责行号。您只需删除它:

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

谢谢。。。明白了,我同时用awk-F:(print$2)删除了它,所以正确的是。grep-Po'github.com\/\K.*(?=\\\\|))~/Desktop/forksonGithub.txt>result.txt-o标志足够了-o标志足够了