Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

304
Vistas
Extraiga el nombre de dominio principal de una lista de URL a través de Bash ShellScripting

Tengo una lista de direcciones URL como esta:

 http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=3 http://www.contatoruy.in/link.php?M=86457&N=4&L=1&F=H http://www.maxxivrimoveis.com.br/ http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=2 http://arm.smilecire.com/ch+urch38146263923bpa.stor/imp-roved258021029his+health212149011 http://hurl.zonalrems.com/ge.tyo-ur584372780599hea+lth247408058un/der+control21211901 http://harp.doomyjupe.com/see.this-better/life+58291551346csexdrive663295668+better/how.981692016 http://beefy.toneyvaws.com/no+tice/how/35306640b+see/app=5429204last/attempt=457943182 http://kirk.yournjuju.com/shop/sam.sclub-win=ter/58387369768esame+673844946.bett.er-loo.k981686408 http://idly.theirpoem.com/veri-fy/notice-7853508818b2glob/al=who.43639603inc.lusion-610549278 http://wva188.suleacatan.com/credit-score/review/-551694841511001sfdghsfdgsdfg63887839 http://cop.forterins.com/app.lyto=face962540097dtolo+oko.ung268570307yo.un-ger8752507 http://vni116.gaelsyaray.com/qertqetert//-dghjghjghd5531864856415612229498430 http://ticket.prategama.com/shop/sam.sclub-win=ter/752490935same+226373195.bett.er-loo.k212801 http://cbu125.quetxviii.com/cvbnvbn7551116db537203--swrtytry664896546 http://c5a.dicadodia.com.br/pass4sp09/NetAffProTeste-1.html http://snub.woadsbevy.com/ama/zing-753773417oppe-tun/ity+217801.is-here/now=236922473 http://mkt.livrariacultura.com.br/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlYQGgzfB7tPi0PuyyJ71ES

Quiero extraer solo los nombres de dominio de los padres, por ejemplo:

 http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18

En

 zrobimystrone.pl visionwebmkt.com meguiatramandai.com.br

Yo he tratado

 awk '{gsub("http://|/.*","")}1' list.txt

y obtuvo los siguientes resultados:

 noto.zrobimystrone.pl visionwebmkt.com www.meguiatramandai.com.br www.contatoruy.in www.maxxivrimoveis.com.br www.meguiatramandai.com.br arm.smilecire.com hurl.zonalrems.com harp.doomyjupe.com beefy.toneyvaws.com

pero no sé cómo obtener solo el nombre principal de noto.zrobimystrone.pl, por ejemplo.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Usando awk

 awk -F \/ '{l=split($3,a,"."); print (a[l-1]=="com"?a[l-2] OFS:X) a[l-1] OFS a[l]}' OFS="." file|sort -u contatoruy.in dicadodia.com.br doomyjupe.com forterins.com gaelsyaray.com livrariacultura.com.br maxxivrimoveis.com.br meguiatramandai.com.br prategama.com quetxviii.com smilecire.com suleacatan.com theirpoem.com toneyvaws.com visionwebmkt.com woadsbevy.com yournjuju.com zonalrems.com zrobimystrone.pl
over 4 years ago · Santiago Trujillo Denunciar

0

Puedes usar este awk:

 awk -F'.' '{gsub("http://|/.*","")} NF>2{$1="";$0=substr($0, 2)}1' OFS='.' list.txt zrobimystrone.pl visionwebmkt.com meguiatramandai.com.br contatoruy.in maxxivrimoveis.com.br meguiatramandai.com.br smilecire.com zonalrems.com doomyjupe.com toneyvaws.com yournjuju.com theirpoem.com suleacatan.com forterins.com gaelsyaray.com prategama.com quetxviii.com dicadodia.com.br woadsbevy.com livrariacultura.com.br
over 4 years ago · Santiago Trujillo Denunciar

0

Una solución bash "simple". Probado en bash shell en Solaris 11.2 x86.

 #!/bin/bash while IFS=/ read HTTP NULL FQDN PAGE do PARENT=${FQDN#*.} if [[ $PARENT != *"."* ]] then echo $FQDN else echo $PARENT fi done < fileOfURLs.txt

Sin la cadena contiene la prueba del patrón, se podría eliminar una gran parte del dominio. El párrafo if se puede reducir, por lo que todo el script ahora se ve así:

 #!/bin/bash while IFS=/ read HTTP NULL FQDN PAGE do PARENT=${FQDN#*.} [[ $PARENT != *"."* ]] && echo $FQDN || echo $PARENT done < fileOfURLs.txt

La sustitución de la variable bash toma el contenido de la variable FQDN y elimina desde la izquierda cualquier carácter hasta el primer punto incluido.

La condición de prueba pregunta si el contenido de la variable PADRE no contiene un punto. Si no contiene un punto en alguna parte del valor, la prueba se evalúa como verdadera y mostrará el contenido original del FQDN. Si la prueba se evalúa como falsa (todavía hay un punto en el valor), se muestran los contenidos de PADRE.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda