我是bash的新手,所以请帮我解释一下你的答案。我已经查看了其他类似的问题,但我仍然陷入困境。我有一个包含大约4k URL的文本文件。我想删除所有不属于域名的网址。
例如,我只想要来自域http://www.example.com
的网址。该文本文件还包含mail.example.com
等我不感兴趣的网址。如果我被要求编写感兴趣的网址的正则表达式,则为^http://www.example.com/*
。
我尝试了grep -no '^http:\/\/www.example.com\*' listofURLs.txt
,但这回复了所有行以及包含http://www.example.com
的行号。
现在我可以使用sed
并删除所有其他行,但这不是一个简洁的解决方案。我想知道是否有更简单的方法吗?
提前致谢。
答案 0 :(得分:1)
这应该有效:
grep '^http://www\.example\.com' listofURLs.txt > listofExampleURLs.txt
不需要使用-o
,只有在需要获得与正则表达式匹配的行的部分时才需要{。}}。