Autore Topic: Interpretare i risultati della shell  (Letto 2586 volte)

  • Visitatore
Interpretare i risultati della shell
« il: 04 Maggio 2008, 20:19:41 »
Ciao

Facendo per esempio

SHELL "df -h" FOR READ AS "df"

e

df_read
.......
LINE INPUT #LAST linea

mi trovo con un risultato simile :

/dev/hdb2              37G   36G  1.2G  97% /mnt/hdb2

ADESSO :

io ho nesessità di andare a separare la riga in vari pezzi (il device, lo spazio impegnato ecc ecc) e mi metterei a farlo tramite instr(), rinst(), replace(), left() ecc ecc

Questo è il metodo da me utilizzato finora , ma già per separare in 4-5 pezzi è molto difficoltoso , figuriamoci a crescere ....

Altri metodi consigliabili ???

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #1 il: 04 Maggio 2008, 20:44:50 »
prova così:

Codice: [Seleziona]



DIM ares AS String
DIM sres AS String
DIM a_sres AS String[]
DIM nome AS NEW String[]
  DIM dimensione AS NEW String[]
  DIM usato AS NEW String[]
  DIM disponibile AS NEW String[]
  DIM uso AS NEW String[]
  DIM montato AS NEW String[]
  DIM i AS Integer
  DIM stemp AS String[]
 
        EXEC ["df", "-h"] TO sres

a_sres = Split(sres, "\n", "\t", TRUE) ' in questo modo pongo ogni riga come elemento di un array
a_sres.Remove(0) ' elimino la prima riga con i titoli


FOR i = 0 TO a_sres.Count - 1
   
    stemp = Split(a_sres[i], " ", "\n", TRUE)
    nome.add(stemp[0], i)
    dimensione.Add(stemp[1], i)
    usato.Add(stemp[2], i)
    disponibile.Add(stemp[3], i)
    uso.Add(stemp[4], i)
    montato.Add(stemp[5], i)
  NEXT
   


in questo modo avrai un array per ogni colonna del risultato di df che potrai usare semplicemente per ogni utilizzo

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #2 il: 04 Maggio 2008, 21:45:14 »
ti posto un programmino che visualizza il file system utilizzando il metodo che ti ho indicato prima. ciao ciao

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #3 il: 06 Maggio 2008, 22:42:31 »
:-o

Effetti speciali sconvolgenti !!!

Non pensavo che con così poche righe di codice si potessero fare cose così fiche come il progettino che hai allegato. Me gusta mucho !

Immaginavo che i risultati potessero esser gestiti in maniera migliore di come facevo io ( era un mal di testa ogli volta ... ) , e lo facevo spesso =P

Sei il mio mentore fsurfing :-) , veramente mi hai semplificato la vita un sacco di volte oramai !

Ciao Grazie !

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #4 il: 06 Maggio 2008, 23:07:15 »
sempre a tua disposizione!!!!! :2birre:

a volte è incredibile cosa si riesce a fare con poche cose!

grazie per i complimenti :ehm:

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #5 il: 18 Maggio 2008, 20:40:37 »
Non volevo aprire un altra discussione, visto che l'argomento e simile :

Vorrei eseguire in shell un comando e verificare con una progressbar quanto manca alla fine e il punto raggiunto .... avete idea di come si possa procedere ? Non sò proprio da dove partire ... se magari esiste un comando unix che magari mi aiuta ... Esisterebbe TIME .. per fare una stima iniziale e usarla poi ma ritengo verrebbe fuori una ciofeca ( se per caso sto usando il pc per qualcos'altro, se copio file da una chiavetta piuttosto che dall'HDD) ...

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #6 il: 19 Maggio 2008, 09:58:53 »
Ciao. Se il comando che esegui nella shell ha qualche output (tipo oggenc o lame quando converti un file audio) è possibile intercettare alcuni messaggi e di conseguenza modificare
la progressbar. Se il comando non dà output mi pare un po' difficile prevederne il tempo di esecuzione. Insomma dipende dal comando che devi eseguire. Prova a postarlo qui e vediamo se salta fuori un'idea. Ciao.

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #7 il: 19 Maggio 2008, 19:25:12 »
Già infatti come immaginavo ...
Nel caso mi desse già un output riuscivo, con un pò di impegno, ad intercettarlo ....
Ho bisogno di farlo con cp, mv .... siccome i filemanager quelli fichi lo fanno pensavo ci fosse un barbatrucco.....

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #8 il: 19 Maggio 2008, 19:37:19 »
con cp e mv il tempo dipende dal tipo di processore , hd  ecc ecc

potresti prima di effettuare la copia o il movimento del file interessato effettuare una copia o uno spostamento di un file tuo diciamo "campione di dimensione definita, misuri quindi il tempo impiegato e di conseguenza fai una stima in base alla dimensione del file che devi effettivamente spostare. oppure se si tratta di una cartella basi la progressione in base al numero di file.

non sarà il massimo...

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #9 il: 19 Maggio 2008, 19:47:14 »
Secondo me il barbatrucco è che i file manager tipo konqueror ogni tot secondi controllano la dimensione del file nella cartella di destinazione e quindi sanno qual è la percentuale già copiata.
Quindi ti basterà verificare ogni tanto con un timer la dimensione del file "finale" e fare le dovute operazioni con la dimensione del  file di origine.
Comunque il discorso vale per file molto grossi.
ciao.

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #10 il: 19 Maggio 2008, 21:04:25 »
Già già non ci avevo pensato ..... sei diabolico giulio ... ci proverò sicuramente !!!

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #11 il: 06 Luglio 2008, 19:55:25 »
Problemuccino piccolo piccolo (spero) .....

In un textbox eseguo un comando SHELL, e fin qui nessun problema.

Ho bisogno però di fare un "cd directory" per posizionarmi nella directory corretta prima di eseguire il comando ..... come caspita si può fare ? :uhm:

PS : il barbatrucco era proprio quello !!! funziona

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: Interpretare i risultati della shell
« Risposta #12 il: 07 Luglio 2008, 12:47:19 »
Per esempio per eseguire il comando "ls"
dentro la directory "/usr/bin":


SHELL "cd /usr/bin/; ls" WAIT


Ciao

P.S. ehi gnulinuxiani, lo so che è uguale a "ls /usr/bin" ;-)
ma è per spiegare come cambiare directory ed eseguire un comando
in un'unica chiamata SHELL. ;-)

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #13 il: 07 Luglio 2008, 20:05:14 »
:cappello:

Non ci sarei mai arrivato .....

  • Visitatore
Re: Interpretare i risultati della shell
« Risposta #14 il: 21 Luglio 2008, 17:09:23 »
Cancellato....