Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: FranciskoAsdf en 20 Noviembre 2009, 23:05 pm



Título: [DUDA-BATCH] Numero de Linea...(SOLUCIONADO)
Publicado por: FranciskoAsdf en 20 Noviembre 2009, 23:05 pm
Hola Saludos, hace tiempo que no molestaba, pero nada es para siempre xD, pero necesito ayuda en algo u.u:

Lo que pasa es que en el trabajo voy a tener que ir cambiando unos valores a un archivo txt generado por un sistema, el archivo SIEMPRE se llama Plu.txt. El archivo esta compuesto por miles de lineas como la siguiente

Código:
000145,       000145, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL

Donde :
cada valor se divide por una "," (coma), con un for legré ubicar el numero que necesito editar, en este caso son los "5" despues de la octava "coma", pero ahora necesito saber en que numero de linea está ese "5",
intente con la funcion que dice el numero de lineas que tiene el txt, pero eso no me sirve ya que para editar esa linea lo voy a hacer con edlin.

Código
  1. @echo off
  2. :: Encontrar PLU
  3. set /p plu=ingrese plu :
  4.  
  5. For /F "Tokens=8 Delims=," %%f In ('Type "plu.txt" ^| Find "%plu%"') Do (echo %%f)

ese es el for que me muestra el numero 5 xD.-


espero que alguien me pueda ayudar ya que estos trabajos los tengo que hacer antes de irme del trabajo y se hace muy largo hacerlo manualmente, porque tengo que ir viendo codigo por codigo u.u



SAludos y muchas gracias de ante mano !!!



Título: Re: [DUDA-BATCH] Numero de Linea...
Publicado por: leogtz en 21 Noviembre 2009, 21:08 pm
El comando "findstr" te puede dar el número de línea.

Algo como:
Código:
type "file.txt" | findstr /r /i /n "$"


Título: Re: [DUDA-BATCH] Numero de Linea...
Publicado por: FranciskoAsdf en 21 Noviembre 2009, 22:23 pm
gracias ^^

Código
  1. For /F "Tokens=1,9 Delims=,[] skip=2" %%f In ('Find "%plu%" plu.txt /n') Do (echo.Numero de linea: %%f  -  Dato: %%g)

eso fue con lo que me ayudaron y funciona perfecto


saludos !