Re: Filtrar comodins/regex de le s línies

Alex Muntada <[email protected]>
Newsgroups gmane.linux.debian.user.catalan
Message-ID <Za0MiuAdmUfyZr7T@ix>
Hola Narcis,

> 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.

Amb Python, Perl o algun altre llenguatge de més alt nivell no
seria més fàcil d'obtenir el país perquè podries capturar la
part de l'expressió regular que t'interessi i utilitzar-la per
indexar un diccionari:

```
#!/usr/bin/perl

use v5.32;
use strict;
use warnings;

my %paisos = (
    'DE' => 'Germany',
);

for my $item (<DATA>) {
    chomp($item);
    say "$item -> $paisos{$1}" if $item =~ /([A-Z]{2})$/;
}

__DATA__
12345678DE
```

> 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é.

Les expressions regulars per als rangs IP són poc acurades perquè
no tenen en compte les màscares de bits dels segments. En general
és millor enfocar aquest problema d'una altra manera més eficient
(per exemple amb ipset) i utilitzar llistes negres que tinguin
una reputació prou bona, per exemple:

https://github.com/firehol/blocklist-ipsets

És un tema que fa uns mesos que em vull mirar amb deteniment,
però en el que encara no he pogut aprofundir. Si algú hi té
experiència, estaria bé que ens expliqui com ho fa per incloure
llistes negres al tallafocs.

Salut,
Alex

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁   Alex Muntada <[email protected]>
  ⢿⡄⠘⠷⠚⠋   Debian Developer 🍥 log.alexm.org
  ⠈⠳⣄⠀⠀⠀⠀
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEaUBwKsbetWW2SKTt466XjoNOXn4FAmWtDIMACgkQ466XjoNO
Xn5rURAA0O5ZBzFaCxWa6k465xlQ0wyzZomC1lcW8ZUqPn7+QBNpl0RpopGlDGrr
0Tt59VqZXcvFE45RvcDm/mbjjOpZSDouXiWMXZPmLwT7igA38q7+ZC2EovdYfQuJ
mzwvawuaO/0KanCFP7yuol3fX1zh+LXtczLo6OHP1l6xb0o7Nsj7hJ2LPYeErvXC
mVnj6X30zDNHdkmJYJ736P2KMalWao28n4c83oRj5WdEnbEI6e4rmsERggnFnHB3
X7qr0lHcc9CyMEsOiUm5Q/zXqLyxu+L+I2kCNhqPr6avyC60AGW1DopAenlH9IaB
/QNH81wOGdtlxGY6IOiwUU7vPzQqMMRO7vHKzVfmaXnp/Jn3mB+itlKEdnuXv0QR
lcON8XL/U8FPn09Pxu6XY7+ICnn9ISLi4dVIUtGpPpCpSBFMFwd51TzCBekvVjPH
zRGmvDabm1H9+kwLQZgxcrwgVrVnuY2x/O+ipOzmvj2LpJ/0ALP/98xKtNITF0rU
aUs0p0v6CJEVcSJjSyTHYjxmXGtjCE7AfzC9aPJXG6CZTr2R1q/gVxgDaAh+Ddqd
84ZTtK3C6Scybx7Nd476KxMigBGuxIXwdcfYaea0HcbkLIBbWuYPkiTb+RxScD8K
EedfmDbbtSyTFM1aN9o8LWtdErNxoOhbaLRBXLcBSH9LmtkgI+o=
=cQY0
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.