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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  longitud de linea en bash
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: longitud de linea en bash  (Leído 9,111 veces)
andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
longitud de linea en bash
« en: 27 Marzo 2011, 18:30 pm »

hola a todos, tengo una duda que creo que es muy simple, como puedo saber los caracteres que tiene una linea, por ejemplo:

echo 'Introduce un nombre: '
read -p nombre

como puedo sacar el numero de caracteres del nombre que se ha introducido por teclado??

saludos


En línea

SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
Re: longitud de linea en bash
« Respuesta #1 en: 27 Marzo 2011, 18:53 pm »

El siguiente código no es mio, pero funciona:


Código
  1. :getLength
  2. set /a length+=1
  3. set str=%*
  4. :getLength_2
  5. set "str=%str:~1%" && set /a length+=1
  6. if defined str (goto :getLength_2) || (goto :eof)



Para medir la longitud sería algo como:
Código:
Set mensaje=PONAQUILOQUEQUIERAS
call :getLength %mensaje%

Y para mostrar la longitud, pues con un:
Código:
Echo El mensaje tiene %lenght% caracteres.


PD: Perdon es que le di al boton de postear sin querer xD


« Última modificación: 27 Marzo 2011, 19:04 pm por pitoloko » En línea

No he vuelto, solo estoy de paso.
andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: longitud de linea en bash
« Respuesta #2 en: 27 Marzo 2011, 18:57 pm »

pitoloko, no entiendo lo que me has puesto, me lo puedes explicar??
En línea

andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: longitud de linea en bash
« Respuesta #3 en: 27 Marzo 2011, 19:04 pm »

sigo sin entender el codigo!!!
En línea

mael0c

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: longitud de linea en bash
« Respuesta #4 en: 27 Marzo 2011, 19:07 pm »

Ola
Para saber la longitud de la variable nombre (en tu ejemplo):
Código:
 echo ${#nombre} 

Existen más formas de hacerlo, buscando en google se encuentran rápidamente, pero esta me parece la más sencilla.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: longitud de linea en bash
« Respuesta #5 en: 27 Marzo 2011, 19:12 pm »

@pitoloko, es Bash, no Batch.

Hay varias, creo que ya había puesto varias, pero bueno, también puedes usar wc:

Código:
echo $string | tr -d '\n' | wc -c
Código:
echo `expr length $string`  
« Última modificación: 27 Marzo 2011, 19:18 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
SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
Re: longitud de linea en bash
« Respuesta #6 en: 27 Marzo 2011, 19:13 pm »

Código:
[quote author=Leo Gutiérrez. link=topic=322977.msg1595952#msg1595952 date=1301245926]
@pitoloko, es Bash, no Batch.
[/quote]

*****, perdón xD





[s]



[/s]
« Última modificación: 27 Marzo 2011, 19:16 pm por pitoloko » En línea

No he vuelto, solo estoy de paso.
andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: longitud de linea en bash
« Respuesta #7 en: 27 Marzo 2011, 19:26 pm »

Este es el codigo que yo he realizado:

Código
  1. echo 'Introduce una contraseña para comprobar si es segura o no: '
  2. read -p contrasenia
  3.  
  4. echo 'Longitud: '$(#contrasenia)
  5.  
  6. for i in !'\n'
  7. do
  8. echo 'num: '$contrasenia
  9. i=$(expr i \+ 1)
  10. done
  11.  

me pueden decir si podria ser algo asi para extraer el numero de caracteres??
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: longitud de linea en bash
« Respuesta #8 en: 27 Marzo 2011, 19:45 pm »

¿por qué no usas lo que te hemos puesto en vez de reinventar la rueda?

¿O lo tienes que hacer sin usar lo que te hemos puesto?
En línea

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


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: longitud de linea en bash
« Respuesta #9 en: 27 Marzo 2011, 19:49 pm »

no he usado lo que me habeis puesto porque hay cosas que no entiendo como funcionan. lo que he puesto si entiendo lo que hace.

se podria hacer de la forma que he puesto yo??
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Bash script] equivalente de goto en batch para bash (SOLUCIONADO)
Scripting
moikano→@ 4 16,150 Último mensaje 4 Noviembre 2010, 15:58 pm
por moikano→@
[bash] [Redireccion de descriptores de archivo] ¿Por que una linea funciona y la otra no?
Scripting
4v1dy4 0 1,229 Último mensaje 1 Enero 2023, 18:16 pm
por 4v1dy4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines