Autor
|
Tema: Acciones sobre archivos de texto. [Batch] (Leído 443,215 veces)
|
|
labandera
Desconectado
Mensajes: 2
|
Hola,
A ver si alguien me puede ayudar... Necesito hacer un script que me lea un .txt que contenga numeros de la siguiente forma:
123 4322 3434 3343 3434 . . .
Lo que tengo que conseguir es que el script lea solamente los dos últimos números (los de abajo) y me los compare y me devuelva si son iguales o no. Supongo que es sencillo pero soy nulo para esto.
Muchas gracias de antemano
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
C:\>type file.txt 32013 233 25640 22503 9834 30482 25655 1122 7745 3570
C:\> type "file.txt" | findstr /v /n "%RANDOM%jasdkjlakjsdas%RANDOM%" for /f "tokens=*" %%# in ('type "file.txt" ^| find /v /c ""' ) do (set "nLines= %%#"; ) :: Sacar la última línea: for /f "tokens=1-2 delims=:" %%a in (' type "file.txt" ^| findstr /v /n "%RANDOM%!" ^| findstr /r /i "^%nLines%:.*" ) echo %nLines%: %compare_1% :: Sacar la penúltima línea: for /f "tokens=1-2 delims=:" %%a in (' type "file.txt" ^| findstr /v /n "%RANDOM%!" ^| findstr /r /i "^%nLines%:.*" ) echo %nLines%: %compare_2% if %compare_1% equ %compare_2% ( )
C:\>code.bat 1:32013 2:233 3:25640 4:22503 5:9834 6:30482 7:25655 8:1122 9:7745 10:3570
Ultima linea : 10: 3570 Penultima linea : 9: 7745
Comparando... "No son iguales"
C:\> C:\>code 1:1 2:2 3:3 4:4 5:5 6:6 7:6
Ultima linea : 7: 6 Penultima linea : 6: 6
Comparando... compare_1=6 compare_2=6 "Son iguales"
C:\> :: Mostrar el archivo : type "file.txt" | findstr /v /n "%RANDOM:~ajshdjkasd!" for /f "tokens=*" %%_ in ('type "file.txt" ^| find /v /c ""' ) do (set "nLines= %%_"; ) for /f "tokens=* delims=" %%_ in (file.txt ) do ( set "linea[ !contador!]=% style="color: #448888;">%_" ) set "compare_1= !linea[% style="color: #448888;">nLines%]!"; set "compare_2= !linea[% style="color: #448888;">nLines%]!"; if %compare_1% equ %compare_2% ( )
Dime para qué querías hacer eso.
|
|
« Última modificación: 11 Junio 2010, 20:54 pm por Leo Gutiérrez. »
|
En línea
|
|
|
|
labandera
Desconectado
Mensajes: 2
|
Buenas, gracias por la respuesta, el lunes lo pruebo con calma y ya te cuento...
Lo necesito para monitorizar un error de un stderr.log (remedy). La idea es contar este error y pasarlo a un txt (que me sirve de contador). Cada x tiempo, pueden ser 5 min o 10 min, este contador lo paso a un txt en el que voy añadiendo el número de errores que salen.
Ahí entras tú, si los dos últimos números son iguales es que no se han incrementado los errores, si son distintos es que si, entonces tendría que reiniciar un servicio de otra máquina.
Espero haber sido claro. Muchas gracias, de verdad. Tengo ganas de probarlo, me estaba volviendo majara y no era capaz de sacarlo.
|
|
|
En línea
|
|
|
|
astral_153
Desconectado
Mensajes: 13
HOMO NOSCE TE IPSUM
|
!Hola! tengo una pequeña duda y necesito su ayuda.... estoy intentando hacer una aplicacion bat que me cierre la cesion tras... (-t xx) XX tiempo. este codigo funciona perfectamente..se reinicia en 30 segundos perodeberia cerrar sesion en 30 segundos. y la cierra al instante...necesito su yuda o algo similar que pueda utilizar preferiblemente que aparezca en una ventana que no pueda que no permita cancelar facilmente.. xD xD xD ... gracias de antemano.... !Buen Post! ^^,
|
|
« Última modificación: 20 Junio 2010, 23:52 pm por astral_153 »
|
En línea
|
"Toda teoría es gris y sólo es verde el árbol de dorados frutos que es la vida"
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
A ver, analicemos.
¿Tu duda tiene algo que ver con "Acciones sobre archivos de texto"?
Contéstame.
|
|
|
En línea
|
|
|
|
astral_153
Desconectado
Mensajes: 13
HOMO NOSCE TE IPSUM
|
la verdad es que no..... no me abia fijado en ese detalle..... excuse... soy un poco nuevo en esto... pense que como se trataba de batch podrian contestar.... bueno si no se puede buscare otro post... xD xD xD de todas maneras gracias, felicidades este post me han ayudado mucho..
|
|
|
En línea
|
"Toda teoría es gris y sólo es verde el árbol de dorados frutos que es la vida"
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Sí, por favor crea un nuevo tema.
|
|
|
En línea
|
|
|
|
carlosguay
Desconectado
Mensajes: 42
|
Ya que mi problema es de archivos de texto, lo pongo aqui por no abrir otro hilo. Primero decir que gracias a este hilo, e podido solucionar muchas de las cosas que estoy haciendo com mis archivos, gracias a leo por este aporte. Vereis tengo un problema que no se como solucionar con este archivo. ad 55 6b b9 ad b6 ef ba 05 bc 36 9d 3c 86 43 38 bf cf 2f bf 4a 8b d7 09 4d 02 41 00 bc c7 88 fd f7 19 be aa 03 c6 18 ee b3 2c b9 b8 73 89 0b 72 06 57 8b c9 77 b3 79 c3 4f 5f db 60 e7 89 bd 55 06 90 79 12 f6 84 67 b1 84 c4 dc 22 5b 3a 7f 45 ac 5d 14 7e 1d c6 b9 65 8f 6c 37 36| .].~...e.l76
LINEA CON TEXTO Este archivo, en la parte de la derecha, lleva codigo acssi, que como veis no tengo problema en quitarlo, pero ya veis que en el penultimo renglon ya que la parte de hex no llega hasta el final, pues me deja parte del acssi. Os pondria de las formas que e intentado quitar la ultima linea y la parte de acsii, pero ya se me an olvidado, xd, siempre consigo esto. ad 55 6b b9 ad b6 ef ba 05 bc 36 9d 3c 86 43 38 bf cf 2f bf 4a 8b d7 09 4d 02 41 00 bc c7 88 fd f7 19 be aa 03 c6 18 ee b3 2c b9 b8 73 89 0b 72 06 57 8b c9 77 b3 79 c3 4f 5f db 60 e7 89 bd 55 06 90 79 12 f6 84 67 b1 84 c4 dc 22 5b 3a 7f 45 Como veis no solo borro la ultima linea y la parte de acsii, sino que tambien borro la linea completa y se seguro que es por |, toma como ultima linea esa y eso es lo que pasa. Pues si alquien me puede ayudar, me haria un gran favor. saludos Hola de nuevo. Deje el tema por falta de tiempo y ahora lo he vuelto a retomar, si me pudierais hechar una manita, o alguna idea, seria de agradecer. saludos
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
¿Cuál es el código que intentaste? Se pudiera trabajar con sed para ahorrar problemas, mira: C:\>type file.txt ad 55 6b b9 ad b6 ef ba 05 bc 36 9d 3c 86 43 38 bf cf 2f bf 4a 8b d7 09 4d 02 41 00 bc c7 88 fd f7 19 be aa 03 c6 18 ee b3 2c b9 b8 73 89 0b 72 06 57 8b c9 77 b3 79 c3 4f 5f db 60 e7 89 bd 55 06 90 79 12 f6 84 67 b1 84 c4 dc 22 5b 3a 7f 45 ac 5d 14 7e 1d c6 b9 65 8f 6c 37 36| .].~...e.l76
C:\> C:\>type file.txt | sed -e "s/\.//g" -e "s/\]//g" -e "s/~//g" -e "s/|//g" ad 55 6b b9 ad b6 ef ba 05 bc 36 9d 3c 86 43 38 bf cf 2f bf 4a 8b d7 09 4d 02 41 00 bc c7 88 fd f7 19 be aa 03 c6 18 ee b3 2c b9 b8 73 89 0b 72 06 57 8b c9 77 b3 79 c3 4f 5f db 60 e7 89 bd 55 06 90 79 12 f6 84 67 b1 84 c4 dc 22 5b 3a 7f 45 ac 5d 14 7e 1d c6 b9 65 8f 6c 37 36 el76
C:\> Saludos.
|
|
« Última modificación: 4 Julio 2010, 21:54 pm por Leo Gutiérrez. »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Modificar archivos de texto [batch] [Perl]
« 1 2 »
Scripting
|
bjeli1980
|
10
|
13,674
|
17 Mayo 2010, 09:07 am
por bjeli1980
|
|
|
[BATCH] Ayuda guardando archivos de texto a php
Scripting
|
Geormarsch
|
2
|
4,326
|
20 Septiembre 2011, 16:33 pm
por Poderoscuro1207
|
|
|
[BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto
Scripting
|
Eleкtro
|
2
|
8,045
|
15 Marzo 2014, 15:17 pm
por FranciskoAsdf
|
|
|
Como puedo arrastrar y concatenar archivos de texto en un BATCH
Scripting
|
PUCH84
|
6
|
9,942
|
28 Abril 2014, 09:49 am
por PUCH84
|
|
|
Ayuda con batch para crear archivos de texto plano
Scripting
|
seu230
|
6
|
3,086
|
5 Octubre 2018, 10:28 am
por seu230
|
|