Удалить название протокола из ссылки на сайт

Удалить название протокола из ссылки на сайт

У меня есть список из 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

Илиsedс iопцией

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

Связанный контент