Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: piruloncio en 8 Junio 2010, 23:47 pm



Título: Script comparacion de archivos
Publicado por: piruloncio en 8 Junio 2010, 23:47 pm
Buenas a todos. No sé si me estoy dirigiendo al sitio del foro adecuado pero aquí está mi consulta.

Resulta que tengo que comparar el contenido de un fichero con el contenido de más de mil ficheros todos en formato txt (o sea, texto plano). En caso de que el contenido entre el primer fichero y el resto de los mil sea distinto debe generarme un nuevo fichero e ir añadiendo en este el nombre de todos los ficheros leidos que difieren.

Imaginad que tengo un fichero llamado "prueba.txt" que contiene la palabra "fichero" y tengo que ir comparando con "1.txt", "2.txt", "3.txt", etc...
en caso de que alguno tenga un contenido distinto de "fichero" me debe generar un nuevo fichero llamado "resultado.txt" el cual vaya almacenando los nombres de los ficheros de distinto contenido, por ejemplo "1.txt", "7.txt", etc...

¿Alguien podría ayudarme?

Gracias.


Título: Re: Script comparacion de archivos
Publicado por: leogtz en 8 Junio 2010, 23:49 pm
¿En qué lenguaje?, ¿en qué sistema operativo?, ¿para qué quieres hacer eso?


Título: Re: Script comparacion de archivos
Publicado por: piruloncio en 9 Junio 2010, 11:03 am
Pues la verdad estaba buscando la posibilidad de un bat para entorno Microsoft, o sea, un script bajo msdos, aunque no descarto la posibilidad de utilizar alguna aplicación.

Gracias por leerme.


Título: Re: Script comparacion de archivos
Publicado por: piruloncio en 9 Junio 2010, 11:06 am
El motivo por el cual necesito hacer esto es porque tengo una serie de logs de una gran cantidad de servidores y esos logs son identicos. La cuestión es que si por algún motivo alguno de los logs no es igual que el que utilizo como de plantilla pues necesito generar una alerta o como indico en la explicación que me vaya apareciendo en un fichero de texto por ejemplo.


Título: Re: Script comparacion de archivos
Publicado por: Nanoc en 11 Junio 2010, 01:13 am
Bajo msdos puedes usar la instruccion comp para comprarar dos ficheros en busca de diferencias, informate sobre como funciona.

en cuanto a lo del txt, si el resultado de comp es que son distintos usas echo "nombre el fichero" >resultado.txt. Con eso puedes escribir directamente en un fichero.

Espero haberte ayudado


Título: Re: Script comparacion de archivos
Publicado por: piruloncio en 12 Junio 2010, 13:41 pm
Pues he intentado hacer pruebas y solo me compara un archivo con otro. Lo he probado con comp y con fc y no me dan la posibilidad de comprar un fichero con un grupo sin saber el nombre. La prueba la he hecho con esta línea:

comp 1.txt *.* /L >> resultado.txt

lo mismo con fc

y solo me compara el primer elemento 1.txt con el pripio 1.txt.


Título: Re: Script comparacion de archivos
Publicado por: bizco en 12 Junio 2010, 17:32 pm
yo te diria que uses otro lenguaje de script con mas posibilidades, algo como python, tcl, perl.... o el que mas te guste.


Título: Re: Script comparacion de archivos
Publicado por: TeKNo dUKe en 12 Junio 2010, 17:36 pm
Como dijo ctlon sería mejor que lo hagas en python o perl, personalmente para un script así elegiría python entre otras porque si mañana migras de entorno py es multiplataforma mientras que el .bat de windows te dejara de servir y tendrás que reprogramar.-


Título: Re: Script comparacion de archivos
Publicado por: Nanoc en 13 Junio 2010, 01:39 am
Nada nada, ni caso, hazlo en VB6 que tardas 2 minutos y funciona perfecto XD

Almacenas en un array el fichero a comparar y comparas un array con otro


Título: Re: Script comparacion de archivos
Publicado por: leogtz en 13 Junio 2010, 01:43 am
Con Batch se puede, solo que no saben utilizarlo.


Título: Re: Script comparacion de archivos
Publicado por: piruloncio en 14 Junio 2010, 00:21 am
Muchas gracias a todos por vuestras respuestas. Probaré tanto con phyton como con vb6 y también seguiré intentandolo con batch. Ya os contaré si funciona alguno.