Eu tenho uma lista de n números (n é conhecido) de URLs. Como posso remover o nome do protocolo do URL?
Por exemplo: from https://xyz.com
, quero buscar xyz.com
apenas parte.
Responder1
Usando correspondência GNU grep e PCRE,
grep -oP 'https://\K\S+' file
Isso gera os não-espaços após "https://"
Responder2
Responder3
Aqui está uma invocação simples do awk:
$ awk -F// '{print $NF}' fileName
-F
especifica o separador de campo. $NF
imprime o último campo.
Talvez seja necessário usar aspas duplas em torno de //.
Responder4
Usandocorte: Funciona com ou sem prefixo, pois o corte também imprime linhas sem delimitador
echo 'https://myserver.com' | cut -d '/' -f 3
# prints myserver.com
Você pode usar um loop para executar isso em várias linhas de um arquivo:
for line in $(cat input_file.txt); do
echo "${line}" | cut -d '/' -f 3
done
Na página de manual "cut" -f, --fields=LIST selecione apenas esses campos; também imprima qualquer linha que não contenha nenhum caractere delimitador, a menos que a opção -s seja especificada