El 17/1/24 a les 21:39, Ernest Adrogué ha escrit:
2024-01-17, 08:39 (+0100); Narcis Garcia escriu:
Bones,
Tinc un fitxer de text, com podria ser per exemple una llista de números de
telèfon (coneguts.txt):
972123456
972111133
972111134
972111135
972111136
972789012
però m'agradaria representar-hi rangs compatibles (expressions regulars) per
abreviar:
972123456
9721111..
972789012
Hi ha una cosa que no entenc. El patró "9721111.." representa els
números 972111100, 972111101, 972111102, ..., 972111198, 972111199.
Mentre que a la teva llista només hi tens el 972111133, 972111134,
972111135, i el 972111136. Si substitueixes aquests números pel patró
"9721111.." el resultat és un conjunt de números que és DIFERENT de
l'original.
No era més que un exemple; la primera llista com si fos la típica (per a
filtrar de forma senzilla amb grep), i la segona com voldria poder-la
fer. És a dir, en comptes de fer una llista amb 100 línies «9721111xx»
(del 00 al 99) poder-hi posar un patró en una sola línia.
PERÒ igualment el tema dels números de telèfon és només un exemple
senzill; no es tracta dels números sinó de buscar patrons amb una cadena
fixa en comptes de buscar cadenes amb un patró.
Exemple amb números de DNI; la llista seria:
ES......... Spain
FR......... France
.........DE Germany
IT......... Italy
I donat un DNI «55667788DE» poder trobar la línia del patró corresponent:
.........DE Germany
I així extraure el nom de l'estat després de l'espai: Germany.
Cas més sofisticat; Rangs d'adreces IPv4 en un fitxer «spammers.txt»:
55\.66\.77\.88
66\.77\.88\..*
99\.11\.22\.33
i amb això trobar que si la IP de l'interlocutor té coincidència a la
llista, aleshores no acceptar-lo. I així poder incloure rangs també.
--
Narcis Garcia
__________
I'm using this dedicated address because personal addresses aren't
masked enough at this mail public archive. Public archive administrator
should remove and omit any @, dot and mailto combinations against
automated addresses collectors.