El proposito es eliminar las urls (en este caso https://github.com/StevenBlack/hosts ) que abarcan sus Wild Cards . . . para ello usando Regex Powershell W10 . . . obteniendo una conversion como la presentada en la imagen.
Descargando Hosts block list de Steven Black .. ir al sitio ... https://github.com/StevenBlack/hosts
copiar y nombrar ... ... ... StevenBlackhosts-original.txt
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descarga con powershell . .
iwr "https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts" -OutFile "StevenBlackhosts-original.txt"
----------------------------------------------------------------
Dejando las puras urls Steven Black
----------------------------------------------------------------
# reemplazando 0.0.0.0 por nada
# eliminando lineas con # y vacias
# borrando hasta la 9 linea
Entre lineas punteadas (Obviamente funciona con copiar y pegar a Powershell + Enter .. :D )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Get-Content "StevenBlackhosts-original.txt" | Select-Object -Skip 30 | Foreach-Object {$_ -Replace('^0.0.0.0 ', '')} | Where-Object {$_ -notmatch '#'} | ? {$_.trim() -ne "" } | Set-Content "StevenBlackhosts-urls.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Notese me salte 30 lineas , quite 0.0.0.0, # y vacios. El resultado a "StevenBlackhosts-urls.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Get-Content "WildCardsHF.action") | Where-Object {$_ -notmatch '#'} | Where-Object {$_ -notmatch '\{\+block\{WildCardsHF\}\}'} | ? {$_.trim() -ne "" } |
Foreach-Object {
$_ -replace '\s+', '' `
-replace '^', '.' `
-replace '$', '.' `
-replace '\.\.', '.' `
-replace '\.', '\.' `
-replace '\-', '\-' `
-replace '^..', '(^|\.)' `
-replace '..$', '($|\/|\.)' `
-replace '\*', '\w*' `
-replace '\?', '\w' `
-replace '\[0..9\]', '[0-9]' `
-replace '\[a..z\]', '[a-z]' `
-replace '\\w\*\(.......\)$', '\w*' `
-replace '^\(....\)\\w\*', '\w*' `
-replace '^\\w\*\[', '[' `
-replace '\]\\w\*$', ']' `
-replace '^\\w\*', '' `
-replace '\\w\*$', '' `
} | ? {$_.trim() -ne "" } | Set-Content "WildCardsHF-Conv.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Notese mi texto es "WildCardsHF.action" .. elimino lineas con # (comentarios), {+block{WildCardsHF}} y vacios . . . posterior empiezan los reemplazos y el resultado es vaciodo en "WildCardsHF-Conv.txt"
Para no olvidar al ir añadiendo mas wildCards sigo las siguientes reglas . . .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# WildCardsHF Host file
# -------------------------------------------------------------------------------------
# -- No poner comentario despues de la wildcard ... osea ..:: .wildcard. # comentario
# -- solo usar [0-9] y [a-z] .. y no como [a-bd-z] .. por problemas con guiones
# -- se pueden usar .. del tipo seleccion probar con una ú otra letra como: .. [as89]
# debido a que luego hay que covertir a Regex para usar con powershell
# Las WildCardsHF se van sacando de la densidad de palabras ..
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Obtener la lista de urls que no fueron afectados ... para añadirlos a su action file . . :D
Eliminando lineas con..:: "contenido de BorrarLineas.txt" (ahi puede poner urls que estan presentas en StevenBlack pero que visita usted XD; una url por linea ), reemplazos ..:: # quitar ruta de archivo y eliminar lineas duplicadas y ordena ascendente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Get-Content "StevenBlackhosts-urls.txt" | Select-String -notmatch (Get-Content "WildCardsHF-Conv.txt") | Select-String -notmatch (Get-Content "BorrarLineas.txt") | Foreach-Object {$_ -Replace('^.+:\d*:','')} | Sort-Object -Unique | Set-Content "SBH-NoAfectadosXWC.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Agregar contenido (en mi caso llamo "BlocksHosts.action" a la lista ) . . . @("Line 1 text", "Line 2 text", "etc..") . . . y uniendo listas
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@("#","# Este archivo contiene el resto de urls que ","# no se afectaron con WildCardsHF.action ","# Project home page: https://github.com/StevenBlack/hosts", "{+block{blocksHosts} +handle-as-empty-document}", "## ## ## ## ## ## ## ## ## ## ## ##") + (Get-Content "SBH-NoAfectadosXWC.txt") | Set-Content "BlocksHosts.action"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Divertido . . no . . . . lo puede condensar para un solo enter . . XD pero aun lo sigo modificando XD
No hay comentarios.:
Publicar un comentario