从网站链接中删除协议名称

从网站链接中删除协议名称

我有 n 个 URL 列表(n 已知)。如何从 URL 中删除协议名称?

例如:从中https://xyz.com,我只想获取xyz.com部分。

答案1

使用 GNU grep 和 PCRE 匹配,

grep -oP 'https://\K\S+' file

输出“https://”后面的非空格

答案2

如何使用awk带有F选项和文本重定向?

awk -F'^http[s]?://' '{print $2}' fileName > outputFile

或者sedi选项

sed -i s/'http[s]\?:\/\/'// fileName

答案3

这是一个简单的 awk 调用:

$ awk -F// '{print $NF}' fileName

-F指定字段分隔符。$NF打印最后一个字段。

您可能需要在 // 周围使用双引号。

答案4

使用: 带或不带前缀都可以,因为 cut 还可以打印没有分隔符的行

echo 'https://myserver.com' | cut -d '/' -f 3
# prints myserver.com

您可以使用循环在文件的多行上运行此操作:

for line in $(cat input_file.txt); do
    echo "${line}" | cut -d '/' -f 3
done

从“cut”手册页 -f, --fields=LIST 仅选择这些字段;还打印任何不包含分隔符的行,除非指定了 -s 选项

相关内容