Bash A Tabla


BrunoIV
Objetivo: Bash A Tabla
shell (df -ha | grep -i /dev/sda)

Resumiendo, el comando te informa del tamaño de mis particiones. Esto lo almaceno en un textarea, pero no queda tabulado. Es posible meter esto en una tabla??

Objetivo: Re: Bash A Tabla
Hola

Dim S as string, t as string[]
shell ("df -ha | grep -i /dev/sda") to S

Ahora en S tienes la salida del comando.

t=split(s,gb.unix)
Esto debería crear un array donde cada entrada corresponde a una línea de S.

¿es esto lo que quieres?


última edición por soplo el Martes, 05 Octobre 2010, 19:03; editado 1 vez
Perfil MP  
BrunoIV
Objetivo: Re: Bash A Tabla (Solved)
Creo que he entendido hasta el "hola"..xD
Por partes (como jack el destripador)

Con el codigo que has puesto obtengo: "Type mismatch: wanted String, got Integer instead"
Segunda parte: que hago con el t=split(s,gb.unix) no se recorrer la tabla si eso lo que hay que hacer.. :S

Saludos y muchas gracias.. Estás hasta en la sopa ^^

última edición por BrunoIV el Miercoles, 06 Octobre 2010, 18:09; editado 1 vez
Objetivo: Re: Bash A Tabla
Perdona, llevo algún tiempo sin usar gambas y he cometido un error. gb.unix es una constante entera. Tu necesitas gb.newline que es \n

Te explico:
Dim S as string, t as string[]
shell ("df -ha | grep -i /dev/sda") to S

Con esto declaro una variable de tipo string, ejecuto el comando y lo que ese comando devuelve (lo que te saldría por la consola) se queda en S.

Así que ahí tienes varias líneas con la información deseada. La forma de reconocer donde acaba una línea es porque al final hay un gb.newline.

t=split(s,gb.newline)

Declaro una variable t de tipo array string. No le pongo dimensiones porque no las conozco. En ese arreglo quedará cada línea del contenido de S. Para ello le digo que haga split y que el separador es gb.newline. Con eso en T[0] quedará la primera línea, en T[1] la segunda, etc.

split lo que hace es que coge el string S y el separador que le indicas y devuelve subcadenas. Cada una de ellas quedará como un campo del array. Por ejemplo si S valiera "Pepe#Juan#Maria#Carlos" al hacer T=split(s,"#") obtendrías T[0]="Pepe", t[1]="Juan", T[2]="Maria" y T[3]="Carlos"

Un saludo

Perfil MP  
BrunoIV
Objetivo: Re: Bash A Tabla
Es posible dividir el texto en vez de por lineas dividirlo por palabras?

he intentado gb.Text y gb.String

Objetivo: Re: Bash A Tabla
claro. Si queres dividirlo por palabras haz split(s," ").

Perfil MP  
BrunoIV
Objetivo: Re: Bash A Tabla
Okey. Gracias por todo. Aunque esto ultimo no funciona..

El comando da esto:
/dev/sda7 30G 6,0G 22G 22% /
/dev/sda6 184G 69G 106G 40% /home

Con este codigo t = Split(s, "")
T[0]=/dev/sda7 30G 6
T[1]= Todo lo demás

Igualemente tengo lo que necesito. Cierro

Objetivo: Re: Bash A Tabla
vale pero yo no puse "". Eso es cadena vacía. Yo puse " " que es espacio. Si separas por espacios entonces en cada elemento del array te queda cada palabra.


Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.3518s (PHP: -84% SQL: 184%)
Consultas SQL: 45 - Debug off - GZIP Activado