我正在查找包含如下内容的文件:
http://www.site1.com/d23bdbd0fbc517d34, r N 4
https://www.site2.com/file/d23bdbd0fbc517d34, X
http://www.site3.com/file/d23bdbd0fbc517d34
https://www.site4.edu/site/d23bdbd0fbc517d34
我需要使用 sed 来获得这种输出:
www.site1.com
www.site2.com
www.site3.com
www.site4.edu
帮助!我无法让它完全正常工作。从技术上讲,我使用的是适用于 Windows 的 sed.exe,但它可能非常相似。
最佳答案
$ cat file.txt
http://www.site1.com/d23bdbd0fbc517d34, r N 4
https://www.site2.com/file/d23bdbd0fbc517d34, X
http://www.site3.com/file/d23bdbd0fbc517d34
https://www.site4.edu/site/d23bdbd0fbc517d34
$ sed -r 's@.*//([^ /]+).*@\1@g' file.txt
www.site1.com
www.site2.com
www.site3.com
www.site4.edu
如果你没有 -r
开关:
sed 's@.*//\([^ /]\+\)[/ ].*@\1@g' file.txt
此外,在 windows 下IIRC,使用双引号而不是单引号。
所以也许:
sed.exe "s@.*//\([^ /]\+\)[/ ].*@\1@g" file.txt
关于windows - 使用 Sed 提取完整网站的基本 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13281109/