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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Bat leer palabras texto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bat leer palabras texto  (Leído 2,579 veces)
fabianjanu

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Bat leer palabras texto
« en: 10 Septiembre 2012, 19:58 pm »

buenos dias, soy nuevo en el mundo del bat y estoy necesitando de un bat que leea un texto "Ejemplo.txt" y me devuelva en otro texto "encontrado.txt" las lineas que contengan ciertas palabras. pero tambien las ultimas 5 lineas a esta linea inclusive.

ejemplo:


Nombre: Pepe
Edad: 32
Altura: 1.8
Peso: 75


Nombre: Jose
Edad: 20
Altura: 1.9
Peso: 75

Nombre: Juan
Edad: 340
Altura: 1.7
Peso: 85



aca deberia devolver todos las personas que tengan 75 KG.

al momento pude hacer que devuelva: "Peso:75" con :

type log.txt | find /i "Peso: 75"

pero necesito tambien las 3 lineas anteriores al peso para saber los demas datos.

es posible?



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Bat leer palabras texto
« Respuesta #1 en: 11 Septiembre 2012, 16:59 pm »

Trabajar con números no es una taréa agradable en Batch (No por dificil, sino por primitivo e ineficaz si no se hace al detalle... Bueno, eso lo hace más dificil supongo xD)... el code que he echo creo que ha quedado eficiente y sin errores, pero habría sido mejor codearlo en un lenguaje decente.

Código
  1. @Echo OFF
  2.  
  3.  
  4. REM               [PARÁMETROS]
  5. REM                KG ARCHIVO
  6. Call :ElHacker.net 75 test.txt
  7.  
  8.  
  9. :ElHacker.net
  10. Setlocal enabledelayedexpansion
  11.  
  12. REM Eliminamos las lineas en blanco del archivo...
  13. Type "%~2" | FINDSTR /I "[a-z]" > "%TEMP%\%~2"
  14.  
  15. Echo: [ Peso: %~1 ] - Resultados: | MORE
  16. ECHO:________________________________________________________________________________
  17. For /F "Delims=:" %%X in ('findstr /I /N "Peso..%~1" "%TEMP%\%~2"') do (
  18. Title Peso: %~1
  19. Set /A "LINE=0"
  20. Set /A "LAST=%%X+1"
  21. Set /A "FIRST=!LAST!-4"
  22. FOR /F "Tokens=*" %%# in ('Type "%~2"') do (
  23. Set /A "LINE+=1"
  24. IF NOT "!LINE!" EQU "!LAST!" (
  25. IF "!LINE!" EQU "!FIRST!" (
  26. Set /A FIRST+=1
  27. ECHO %%#
  28. )
  29. )
  30. )
  31. ECHO:________________________________________________________________________________
  32. )
  33. Setlocal disabledelayedexpansion
  34. Goto :EOF

Test.txt

Código:
Nombre: Pepe
Edad: 32
Altura: 1.8
Peso: 75

Nombre: paco
Edad: 11
Altura: 2,9
Peso: 95+

Nombre: cheguevara
Edad: 99
Altura: 7,9
Peso: 95
Nombre: chrisss
Edad: 1000
Altura: 2,19
Peso: 75

Output:



Saludos


« Última modificación: 12 Septiembre 2012, 20:50 pm por EleKtro H@cker » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
leer un archivo de texto
PHP
Zeroql 3 2,653 Último mensaje 24 Agosto 2007, 05:48 am
por дٳŦ٭
Leer texto
.NET (C#, VB.NET, ASP)
BrokerJoker 5 3,322 Último mensaje 2 Febrero 2012, 15:58 pm
por BrokerJoker
programa para leer palabras y eliminacion en java
Ejercicios
Luis20093664 1 3,156 Último mensaje 21 Abril 2013, 01:20 am
por Danyfirex
Este teléfono transcribe en texto las palabras de tu interlocutor
Noticias
wolfbcn 0 1,184 Último mensaje 13 Junio 2013, 01:17 am
por wolfbcn
Leer txt y resaltar o cambiar a mayuscula palabras buscadas en el archivo.
Java
makarov 1 3,684 Último mensaje 30 Agosto 2017, 18:06 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines