Eliminar el nombre del protocolo del enlace del sitio web

Eliminar el nombre del protocolo del enlace del sitio web

Tengo una lista de n números (se conoce n) de URL. ¿Cómo puedo eliminar el nombre del protocolo de la URL?

Por ejemplo: de https://xyz.com, quiero recuperar xyz.comsolo una parte.

Respuesta1

Usando GNU grep y PCRE,

grep -oP 'https://\K\S+' file

Eso genera los espacios que no son espacios después de "https://"

Respuesta2

¿Qué tal usarawk¿ Con Fopción y redirección de texto?

awk -F'^http[s]?://' '{print $2}' fileName > outputFile

Osedcon iopción

sed -i s/'http[s]\?:\/\/'// fileName

Respuesta3

Aquí hay una invocación simple de awk:

$ awk -F// '{print $NF}' fileName

-Fespecifica el separador de campo. $NFimprime el último campo.

Es posible que necesites utilizar comillas dobles alrededor de //.

Respuesta4

Usandocortar: Funciona con o sin prefijo como corte también imprime líneas sin delimitador

echo 'https://myserver.com' | cut -d '/' -f 3
# prints myserver.com

Puedes usar un bucle para ejecutar esto en varias líneas dentro de un archivo:

for line in $(cat input_file.txt); do
    echo "${line}" | cut -d '/' -f 3
done

Desde la página de manual "cortar" -f, --fields=LIST seleccione solo estos campos; También imprima cualquier línea que no contenga ningún carácter delimitador, a menos que se especifique la opción -s.

información relacionada