從網站連結中刪除協議名稱

從網站連結中刪除協議名稱

我有一個包含 n 個(n 已知)URL 的清單。如何從 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 選項

相關內容