我有 n 个 URL 列表(n 已知)。如何从 URL 中删除协议名称?
例如:从中https://xyz.com
,我只想获取xyz.com
部分。
答案1
使用 GNU grep 和 PCRE 匹配,
grep -oP 'https://\K\S+' file
输出“https://”后面的非空格
答案2
答案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 选项