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/

相关文章:

python - 在Python中是否可以确定两个分区是否在同一磁盘上?

windows - 如何更新 Perl 脚本以在 MS Windows 上运行

python - 将 Linux 上的 Python 脚本打包成 Windows 可执行文件

regex - sed one-liner 删除一段时间后发生的所有数字 0-9

php - 通过 php 执行 powershell 命令

windows - windbg 内存泄漏调查 - 缺少堆内存

linux - 比较字符串并将值连接到 bash shell 中的一个字段中

regex - 使用正则表达式将字符串中间的模式与 awk、sed、grep ... something linux-y 匹配

sed:用另一个字符替换多个句点

sed:删除保留空间的第一行?