windows - 使用Sed提取完整网站的基本URL

原文 标签 windows sed

我正在寻找一个包含如下内容的文件:

    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

此外,在iirc下,使用双引号而不是单引号。
所以也许:
sed.exe "s@.*//\([^ /]\+\)[/ ].*@\1@g" file.txt

关于windows - 使用Sed提取完整网站的基本URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13281109/

相关文章:

windows - 非常简单的配置 https - 使用 openssl

c - 如何在程序输出本身中查看当前过程状态

linux - 从.gff文件中使用sed/awk/grep提取子字符串

linux - 使用脚本提取文本

shell - 使用 find 和 sed 将文件名添加到文件开头

c++ - 如何取消声明DECLARE_HANDLE?

java - 从Java运行.exe会提供不同的控制台输出,然后直接从Windows运行.exe

linux - 病毒何时可以影响外部硬盘驱动器?

c# - 选择ListView的特定列并将其打印在C#.net的新消息框中

bash - 如何使用sed查找和替换前面或后面没有特定字符的项目?