删除所有不属于同一域的 URL
Delete all URLs that are not of the same domain
我是 bash 的新手,所以请给我解释一下您的回答。我已经研究过其他类似的问题,但我仍然被困住了。我有一个包含大约 4k URLs 的文本文件。我想删除所有不属于域的 URL。
例如,我只想要来自域 http://www.example.com
的 URL。文本文件也有像 mail.example.com
这样的 URLs,我对此不感兴趣。如果我被要求写一个感兴趣的 URLs 的正则表达式,那将是 ^http://www.example.com/*
。
我尝试了 grep -no '^http:\/\/www.example.com\*' listofURLs.txt
,但这返回了包含 http://www.example.com
的所有行以及行号。
现在我可以使用 sed
并删除所有其他行,但这不是一个完美的解决方案。我想知道是否有更简单的方法来做到这一点?
提前致谢。
这应该有效:
grep '^http://www\.example\.com' listofURLs.txt > listofExampleURLs.txt
不需要使用 -o
,仅当您需要获取与正则表达式匹配的行的一部分时才需要。
我是 bash 的新手,所以请给我解释一下您的回答。我已经研究过其他类似的问题,但我仍然被困住了。我有一个包含大约 4k URLs 的文本文件。我想删除所有不属于域的 URL。
例如,我只想要来自域 http://www.example.com
的 URL。文本文件也有像 mail.example.com
这样的 URLs,我对此不感兴趣。如果我被要求写一个感兴趣的 URLs 的正则表达式,那将是 ^http://www.example.com/*
。
我尝试了 grep -no '^http:\/\/www.example.com\*' listofURLs.txt
,但这返回了包含 http://www.example.com
的所有行以及行号。
现在我可以使用 sed
并删除所有其他行,但这不是一个完美的解决方案。我想知道是否有更简单的方法来做到这一点?
提前致谢。
这应该有效:
grep '^http://www\.example\.com' listofURLs.txt > listofExampleURLs.txt
不需要使用 -o
,仅当您需要获取与正则表达式匹配的行的一部分时才需要。