Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 1 mensaje ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Jue Jun 17, 2010 5:23 am
Mensajes: 398
Ubicación: Venezuela

Nota Publicado: Sab Abr 28, 2012 4:21 pm 
Arriba  
A raíz de una recomendación reciente de neurus, con relación al libro en pdf Advanced Bash-Scripting Guide, pude realizar un script para encontrar valores máximos en un arreglo producto de la expansión de un comando propio del ambiente de cónsola de GRASS en QGIS. Lo expongo a continuación:

Código:
#! /bin/bash
clear
temp=(`v.db.select map=cuenca_intercepto2 col=distancia | grep -oE '[0-9.-]*'`)
length=$(expr `echo ${#temp[*]}` - 1)
mayor=0
for i in $(seq 0 2 $length)
do
suma=$(echo "scale=5; (${temp[$i]} + ${temp[$i+1]})*100000" | bc)
suma=${suma/.*}
if [ $suma -gt $mayor ]
   then
   let "mayor = $suma"
fi
done
echo $(echo "scale=5; $mayor/100000" | bc)


Su ejecución la comento en:

Script de bash para determinar valor máximo en columnas con v.db.select (GRASS-QGIS)

Se da especial énfasis (porque fueron los escollos que tuve que sortear para que el script hiciera lo que yo quería) a la manera como bash considera la implementación y manejo de los arreglos en los cálculos, como determinar la extensión del arreglo como límite de secuencia en los bucles for, como establecer la sintaxis para que recorra el bucle de 2 en 2 en lugar del default de 1 en 1 (existe una sintaxis tipo C que también funciona pero que no es incluida aquí), cómo efectuar operaciones en punto flotante para que estas no sean consideradas como string (uso de la calculadora de precisión arbitraria bc), cómo convertir números en punto flotante en enteros y cómo efectuar comparaciones en punto flotante con if/then a pesar de que estas no son permitidas en bash. Espero que sea útil a otros.

Saludos

_________________
[Reglamento del foro] [Blog]

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 1 mensaje ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Script bash

en Programación

gontzal

1

127

Jue May 22, 2014 2:28 pm

Pototo8804 Ver último mensaje

Script bash

en Programación

pituno

4

4516

Jue Jun 18, 2009 10:47 am

pituno Ver último mensaje

script bash sin awk

en Programación

joakoman

9

747

Lun Sep 13, 2010 4:41 am

maiku Ver último mensaje

ayuda con script en bash

en Programación

araka

3

1020

Dom May 04, 2008 5:49 pm

araka Ver último mensaje

Ayuda Script en Bash

en Programación

kikelin

8

305

Mar Ago 19, 2014 8:06 pm

blackman Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO