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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Acciones sobre archivos de texto. [Batch]
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 35 Ir Abajo Respuesta Imprimir
Autor Tema: Acciones sobre archivos de texto. [Batch]  (Leído 443,215 veces)
astral_153

Desconectado Desconectado

Mensajes: 13


HOMO NOSCE TE IPSUM


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #70 en: 29 Mayo 2010, 00:29 am »

:o Hooo …… gracias por la aplicación…… funciona perfectamente ;-).... Ha lo necesito para organizar artículos vendidos de mayor a menor.. Para  saber cual se vendió mas.. En un mes...y así cada mes.. pude hacerlo en excel pero me interesa aprender sobre batch....

gracias nuevamente..  ;-)


« Última modificación: 31 Mayo 2010, 21:12 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"
labandera

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #71 en: 11 Junio 2010, 10:29 am »

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 Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #72 en: 11 Junio 2010, 20:25 pm »

Código:
C:\>type file.txt
32013
233
25640
22503
9834
30482
25655
1122
7745
3570

C:\>

Código
  1. @echo off
  2. type "file.txt" | findstr /v /n "%RANDOM%jasdkjlakjsdas%RANDOM%"
  3. for /f "tokens=*" %%# in ('type "file.txt" ^| find /v /c ""') do (set "nLines=%%#";)
  4. :: Sacar la última línea:
  5. for /f "tokens=1-2 delims=:" %%a in ('
  6. type "file.txt" ^| findstr /v /n "%RANDOM%!" ^| findstr /r /i "^%nLines%:.*"
  7. ') do (
  8. set "compare_1=%%b";
  9. )
  10. echo.&echo Ultima linea :
  11. echo %nLines%: %compare_1%
  12. :: Sacar la penúltima línea:
  13. set /a "nLines-=1"
  14. for /f "tokens=1-2 delims=:" %%a in ('
  15. type "file.txt" ^| findstr /v /n "%RANDOM%!" ^| findstr /r /i "^%nLines%:.*"
  16. ') do (
  17. set "compare_2=%%b";
  18. )
  19. echo Penultima linea :
  20. echo %nLines%: %compare_2%
  21. echo.&echo Comparando...
  22. if %compare_1% equ %compare_2% (
  23. echo "Son iguales"
  24. ) else (
  25. echo "No son iguales"
  26. )

Código:
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ódigo:
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:\>
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "contador=0"
  4. :: Mostrar el archivo :
  5. type "file.txt" | findstr /v /n "%RANDOM:~ajshdjkasd!"
  6. for /f "tokens=*" %%_ in ('type "file.txt" ^| find /v /c ""') do (set "nLines=%%_";)
  7. for /f "tokens=* delims=" %%_ in (file.txt) do (
  8. set /a "contador+=1"
  9. set "linea[!contador!]=% style="color: #448888;">%_"
  10. )
  11. set "compare_1=!linea[% style="color: #448888;">nLines%]!";
  12. set /a "nLines-=1"
  13. set "compare_2=!linea[% style="color: #448888;">nLines%]!";
  14. if %compare_1% equ %compare_2% (
  15. echo "Son iguales"
  16. ) else (
  17. echo "No son iguales"
  18. )
  19.  
Dime para qué querías hacer eso.

« Última modificación: 11 Junio 2010, 20:54 pm por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
labandera

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #73 en: 11 Junio 2010, 22:56 pm »

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 Desconectado

Mensajes: 13


HOMO NOSCE TE IPSUM


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #74 en: 20 Junio 2010, 23:50 pm »

!Hola!  :D tengo una pequeña duda y necesito su ayuda....  :huh:   estoy intentando hacer una aplicacion bat que me cierre la cesion tras... (-t xx) XX tiempo.

este codigo funciona perfectamente..

Código:
shutdown -r -f -t 30

se reinicia en 30 segundos
pero


Código:
shutdown -l -f -t 30

deberia 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 Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #75 en: 20 Junio 2010, 23:53 pm »

A ver, analicemos.

¿Tu duda tiene algo que ver con "Acciones sobre archivos de texto"?

Contéstame.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
astral_153

Desconectado Desconectado

Mensajes: 13


HOMO NOSCE TE IPSUM


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #76 en: 21 Junio 2010, 02:08 am »

 ;D 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 Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #77 en: 21 Junio 2010, 02:18 am »

Sí, por favor crea un nuevo tema.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
carlosguay

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #78 en: 4 Julio 2010, 21:04 pm »

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.

 
Citar
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.


Citar

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 Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #79 en: 4 Julio 2010, 21:47 pm »

¿Cuál es el código que intentaste?

Se pudiera trabajar con sed para ahorrar problemas, mira:

Código:
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ódigo:
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

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 35 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Modificar archivos de texto [batch] [Perl] « 1 2 »
Scripting
bjeli1980 10 13,674 Último mensaje 17 Mayo 2010, 09:07 am
por bjeli1980
[BATCH] Ayuda guardando archivos de texto a php
Scripting
Geormarsch 2 4,326 Último mensaje 20 Septiembre 2011, 16:33 pm
por Poderoscuro1207
[BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto
Scripting
Eleкtro 2 8,045 Último mensaje 15 Marzo 2014, 15:17 pm
por FranciskoAsdf
Como puedo arrastrar y concatenar archivos de texto en un BATCH
Scripting
PUCH84 6 9,942 Último mensaje 28 Abril 2014, 09:49 am
por PUCH84
Ayuda con batch para crear archivos de texto plano
Scripting
seu230 6 3,086 Último mensaje 5 Octubre 2018, 10:28 am
por seu230
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines