Bash A Tabla


BrunoIV
Subject: 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??

Subject: 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?


Last edited by soplo on Tuesday, 05 October 2010, 19:03; edited 1 time in total
Profile PM  
BrunoIV
Subject: 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 ^^

Last edited by BrunoIV on Wednesday, 06 October 2010, 18:09; edited 1 time in total
Subject: 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

Profile PM  
BrunoIV
Subject: Re: Bash A Tabla
Es posible dividir el texto en vez de por lineas dividirlo por palabras?

he intentado gb.Text y gb.String

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

Profile PM  
BrunoIV
Subject: 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

Subject: 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.


Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1026s (PHP: -32% SQL: 132%)
SQL queries: 24 - Debug Off - GZIP Enabled