Hace poco tuve que depurar de un listado de como 500+ ip’s (lista_ips.txt) cierto segmento el cual no me interesaba y que me fuera a dejar las ip’s distintas del mismo a otro listado (ips_dep.txt) , pues para esto decidí hacerlo con Perl.
El script es bastante flexible si se quisiera hacer el listado al revés , solo hace falta cambiar !~ por != y listo ya tenemos la obtención de cierto segmento en lugar de su depuración.
Bueno, se los dejo
#!/usr/bin/perl
use 5.006;
use strict;
use warnings;
# Archivo de entrada
my $filein = 'lista_ips.txt';
open(INFO, $filein);
my @lineas = <INFO>;
close(INFO);
# Archivo de salida
my $fileout = 'ips_dep.txt';
open(INFO, ">>$fileout");
my $re1='(192)';
my $re2='(\\.)';
my $re3='(168)';
my $re4='(\\.)';
my $regexp=$re1.$re2.$re3.$re4;
foreach my $ip (@lineas)
{
chop $ip;
if ($ip !~ m/$regexp/is ){
print INFO "$ip\n";
}
}
close(INFO);

Blablazos Recientes