У меня есть список из n (n известно) URL-адресов. Как удалить имя протокола из 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