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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Script cmd para extraer solo números en un texto.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Script cmd para extraer solo números en un texto.  (Leído 5,597 veces)
lizana16288

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Script cmd para extraer solo números en un texto.
« en: 8 Abril 2016, 23:48 pm »

Buenas!
Me gustaría crear un script en Windows, para coger un texto y extraer únicamente los números.
Por ejemplo:
12qw34er  sería 1234.
En linux es más fácil, simplemente:
grep -o '[0-9][0-9]*' texto>numeros.

Y en powershell:
powershell @(Get-Content texto) -replace '\D',''>numeros.

Cómo puedo hacerlo en el cmd de toda la vida?
Gracias! Buen foro!


En línea

Zomkar

Desconectado Desconectado

Mensajes: 180


Ver Perfil
Re: Script cmd para extraer solo números en un texto.
« Respuesta #1 en: 9 Abril 2016, 07:14 am »

Que yo sepa es imposible. Deberías usas FINDSTR /R o similar, pero no veo que tenga la opcion para mostrar solo lo que coincide (o lo que no).

También podría ser que esto te ayudase http://ss64.com/nt/syntax-replace.html. Si los datos tienen una estructura y es conocida, podrías eliminar lo que no necesitas por ejemplo. Aunque creo que no es lo que pides.

Porque no usar powershell? O grep para win32?


En línea

lizana16288

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Script cmd para extraer solo números en un texto.
« Respuesta #2 en: 9 Abril 2016, 13:22 pm »

up?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Script cmd para extraer solo números en un texto.
« Respuesta #3 en: 30 Abril 2016, 13:55 pm »

No existe ningún miembro para llevar a cabo esa finalidad. Los comandos FIND y FINDSTR se limitan a mostrar la linea completa de la coincidencia del patrón de búsqueda o expresión regular, no extrae la porción que coincide.

Tampoco existe un búcle de tipo for-each capaz de iterar cada caracter de un string, puedes usar un For corriente que es lo más parecido, pero primero tendrías que tokenizar el texto de entrada, es decir, modificar manualmente el archivo de texto para darle un formato compatible partiendolo en tokens legibles por dicho For, por ejemplo añadiendo un espacio en blanco entre cada caracter ...manualmente, lo cual no es una solución viable al no ser automatizable (en Batch).

¿Por qué la necesidad de hacerlo en Batch si ya sabes como llevar a cabo la misma tarea en otros lenguajes?, Batch es una herramienta extremadamente limitada.

Saludos.
« Última modificación: 30 Abril 2016, 13:58 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
Varias dudas para extraer informacion de texto x batch?
Scripting
gh1E 6 8,286 Último mensaje 22 Julio 2009, 16:26 pm
por gh1E
Script para extraer datos de bsqli en python
Nivel Web
nacho87 0 3,050 Último mensaje 2 Noviembre 2009, 21:09 pm
por nacho87
codigo para sacar de un conjunto de texto números « 1 2 »
Programación Visual Basic
leliCabello 19 8,510 Último mensaje 27 Julio 2010, 00:24 am
por Psyke1
Script para extraer listado mp3
Scripting
ovichan 6 6,777 Último mensaje 23 Diciembre 2011, 20:46 pm
por ovichan
[Ayuda] Como hacer para validar una text box para q admita solo numeros
.NET (C#, VB.NET, ASP)
estebankpo15 8 6,580 Último mensaje 6 Febrero 2015, 17:27 pm
por nevachana
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines