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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Bash] Restar caracteres a una variable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Bash] Restar caracteres a una variable  (Leído 5,073 veces)
hervasiop12345

Desconectado Desconectado

Mensajes: 36


Ver Perfil
[Bash] Restar caracteres a una variable
« en: 11 Agosto 2011, 17:32 pm »

Hola. Acabo de terminar un script que recibe como parámetro una variable numérica entera y debe de hacer un monton del tamaño que le digamos. Ejemplo:
./monton 5
        *
      ***                    
     *****
    *******
   *********

El problema está en que quiero restarle a una variable que se llama distancia en cada iteración un caracter " " para que salga así de cuadrado. Ejecutar el script para entenderlo del todo y gracias.
Código
  1. #!/bin/bash
  2. echo $1 | grep -x -q "[0-9]\+"
  3. num=$?
  4. if [ \( $# != 1 \) ] || [ \( $num != 0 \) ]
  5. then
  6.  echo "Llama con un único argumento y que sea numérico"
  7.  exit 1
  8. fi
  9.  
  10. lineas=$1
  11. control=1
  12. char="*"
  13. pintadas=0
  14. j=1
  15. espacio=" "
  16.  
  17. while [ $j -lt $lineas ]
  18. do  
  19.  distancia=$distancia$espacio  
  20.  let j=j+1
  21. done
  22.  
  23. while [ $pintadas -lt $lineas ]
  24. do
  25.  echo -n "$distancia"       #Esta es la variable a la que quiero restarle espacios
  26.  for i in `seq 1 1 $control`
  27.  do    
  28.    echo -n "$char"
  29.  done
  30.  echo -e "\r"
  31.  let control=control+2
  32.  let pintadas=pintadas+1  
  33. done
  34.  
  35.  


« Última modificación: 11 Agosto 2011, 22:44 pm por Leo Gutiérrez. » En línea

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

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [Bash] Restar caracteres a una variable
« Respuesta #1 en: 11 Agosto 2011, 22:47 pm »

Bueno, tu sabrás cómo lo haces, yo he hecho eso en C y el código no es tan complicado, mira, así puedes quitar un carácter:

Código
  1. #!/bin/bash
  2. name="Leonardo";
  3. for((i = 0; i < ${#name}; i++))
  4. do
  5. echo -e "${name:0:-$i}";
  6. done
  7.  

${string:0:-1}


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] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Restar X cantidad de caracteres al valor de una variable « 1 2 »
Programación Visual Basic
extreme69 14 5,937 Último mensaje 10 Diciembre 2010, 15:32 pm
por extreme69
[BASH]Simplemente guardar string en una variable « 1 2 »
Scripting
illera88 11 17,124 Último mensaje 3 Enero 2011, 06:33 am
por leogtz
Crear variable en bash « 1 2 »
Scripting
.:UND3R:. 12 8,085 Último mensaje 14 Abril 2011, 12:44 pm
por D4RIO
Problema script bash ruta de directorio en variable
Scripting
InuKen 4 6,743 Último mensaje 14 Mayo 2011, 00:46 am
por leogtz
Restriccion de caracteres en bash
Scripting
K1lleR709 0 2,035 Último mensaje 18 Abril 2013, 19:14 pm
por K1lleR709
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines