elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Extraer Contenido de Txt BAT
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Extraer Contenido de Txt BAT  (Leído 4,470 veces)
Blender123

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Extraer Contenido de Txt BAT
« en: 2 Septiembre 2014, 03:05 am »

Hola a todos me ayudarian con esto
Tengo 1200 archivos txt
En cada archivo necesito eliminar todo el texto y mantener unicamente el texto que se ecuntra entre estas palabras  <!-- message -->  texto <!-- / message --> y guardar cada  archivo con un nuevo nombre:  Ejemplo 0001.txt guardarlo con el nombre 0001B.txt y que repita el procedimiento con cada uno de los 1200 archivos.

Ejemplo: 0001.txt
Código:
Texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto
, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto
  
      <!-- message -->
1 - Papel
2 - Lapiz
3 - Agua
      <!-- / message -->
  
Texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto
, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto

Resultado esperado:0001B.txt

Citar
1 - Papel
2 - Lapiz
3 - Agua

Agradece de ayuda , de antemano muchas gracias.


« Última modificación: 2 Septiembre 2014, 03:48 am por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Extraer Contenido de Txt BAT
« Respuesta #1 en: 2 Septiembre 2014, 03:45 am »

Creo recordar que esto es un foro, no Freelancer.com, recuerdalo para la próxima vez, aquí no se hacen trabajos, se ayuda en las dificultades que tengas para hacer el trabajo por ti mismo.

Aparte de eso, Batch es la peor elección como lenguaje para este tipo de tareas, deberías usar cualquier otro lenguaje capacitado para parsear documentos/nodos XML/Html para obtener los comentarios.

Aquí tienes un ejemplo, esto que escribí puedes adaptarlo para procesar una serie de archivos, utilizando un For (y el comando Rename):

Código
  1. @Echo OFF & Setlocal EnableDelayedExpansion
  2.  
  3. Set "InputFile=.\Archivo.txt"
  4. Set "OutputFile=.\Archivo_New.txt"
  5.  
  6. Set "CommentLineStart=<.--.[^/]"
  7. Set "CommentLineEnd=<.--./"
  8.  
  9. Set /A "CutStart=-1"
  10. Set /A "CutEnd=-1"
  11.  
  12. Set /A "LineCount=0"
  13.  
  14. For /F "Tokens=1 Delims=:" %%# in (
  15. 'Type "%InputFile%" ^| Findstr /I /N "%CommentLineStart%"'
  16. ) Do (
  17. Set /A "CutStart=%%#"
  18. )
  19.  
  20. For /F "Tokens=1 Delims=:" %%# in (
  21. 'Type "%InputFile%" ^| Findstr /I /N "%CommentLineEnd%"'
  22. ) Do (
  23. Set /A "CutEnd=%%#"
  24. )
  25.  
  26. Echo Cut from line: %CutStart% to: %CutEnd% | MORE
  27.  
  28. (For /F "Delims=" %%# in (
  29. 'Type "%InputFile%"'
  30. ) Do (
  31. Set /A "LineCount+=1"
  32. If !LineCount! GTR %CutStart% If !LineCount! LSS %CutEnd% (
  33. Echo %%#
  34. )
  35. ))>"%OutputFile%"
  36.  
  37. Pause&Exit /B 0

Saludos.


« Última modificación: 2 Septiembre 2014, 04:00 am por Eleкtro » En línea



Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Extraer Contenido de Txt BAT
« Respuesta #2 en: 5 Septiembre 2014, 18:45 pm »

Aparte de eso, Batch es la peor elección como lenguaje para este tipo de tareas, deberías usar cualquier otro lenguaje capacitado para parsear documentos/nodos XML/Html para obtener los comentarios.

- Saludos Eleкtro, sin ningun motivo de ofensa o sonar sarcástico lo menciono por si se hacen la idea, en repetidas ocasiones e visto que aconsejas lo mismo en ciertas circunstancias, y bueno la verdad es que yo considero que le haces honor a tu antiguo Nick Elektro Hacker y creo saber porque aconsejas siempre esto, sin embargo yo quisiera saber cual es el lenguaje que tu consideras mas eficiente para realizar dicha tarea y porque... 
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Extraer Contenido de Txt BAT
« Respuesta #3 en: 5 Septiembre 2014, 19:20 pm »

Hola Slikp

No he comprendido porque relacionas mis sugerencias con mi antiguo nick "Elektro H@cker", pero si que es verdad que siempre que surge alguien que quiere resolver un problema de este estilo usando Batch intento hacerle saber que Batch no es una buena elección, el único motivo por el que sugiero esto es simple: Batch no fue diseñado para ciertas tareas complejas, pero ojo, no estoy insinuando que esta tarea en particular sea compleja para un programador, sino que es una tarea compleja para la capacidad de Batch. Parsear un documento de texto... , pero parsear un tipo de documento estructurado... No.

No hay un mejor lenguaje para esta tarea, puedes hacerlo con cualquier lenguaje de hoy en día ...incluyendo Batch como te mostré, pero hay lenguajes (lenguajes de verdad, no Batch) que te proporcionan Classes y/o herramientas adicionales de terceros especializadas en este tipo de tareas con las que poder lograr un mejor rendimiento y fiabilidad y conseguir mejores resultados, como son Ruby, Python, o C# / VB.NET (entre otros).

¿Cual es el lenguaje en el que yo haría este tipo de tarea?: C# o VB.NET (ambos son "casi lo mismo" y se conseguiría el mismo resultado al menos para esa tarea)
¿Porqué?: Porque entre todos los lenguajes que he llegado a manejar este es el que decidí tomar como lenguaje principal ya que es el que más me gusta en todas sus características (hablo de VB.NET) las cuales no me voy a poner a describirlas ahora una por una, pero sin duda prefiero hacerlo en .NET que con Scripting.
¿Como lo haría?: En caso de que se trate de un archivo XML, pues parseando con la Class XmlDocument, y en caso de que se trate de un documento Html pues con la librería HtmlAgilityPack.

Si prefieres hacerlo en un lenguaje de Scripting entonces sinceramente no sabría cual recomendarte ni porqué, como ya he dicho puedes hacerlo en cualquiera ya que ofrecen herramientas especializadas, por ejemplo en Ruby tienes la gema 'Nokogori' y en Python2.X tienes el módulo Xml y en Python3.X el módulo Html, solo por nombrar alguna manera de hacerlo en ambos lenguajes, que haber hay más... una infinidad de librerías de terceros.

Mi consejo es que si no quieres complicarte la vida aprendiendo el uso de un lenguaje entonces utilices Batch para hacerlo, siguiendo el ejemplo que te mostré (te expliqué lo que necesitas añadirle al Script para que cumpla las necesidades).

Saludos!
« Última modificación: 5 Septiembre 2014, 19:52 pm por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Extraer voz de un archivo o extraer la musica solamente !!!!!
Multimedia
magnox 2 3,944 Último mensaje 28 Septiembre 2004, 17:16 pm
por theloop
[Ideas] Extraer contenido web
Programación Visual Basic
STARZ 7 3,887 Último mensaje 4 Octubre 2011, 14:29 pm
por Psyke1
Extraer contenido de una tabla de otra web « 1 2 »
PHP
javirk 13 8,871 Último mensaje 5 Mayo 2012, 17:06 pm
por javirk
Ayuda para comparar dos archivos txt y extraer el contenido de uno de ellos??
Programación Visual Basic
valeeen 2 3,930 Último mensaje 14 Julio 2015, 18:06 pm
por valeeen
Extraer contenido de pagina web a Formulario C#
.NET (C#, VB.NET, ASP)
_vicho_ 2 4,545 Último mensaje 5 Noviembre 2019, 18:17 pm
por _vicho_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines