Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [BASH] Ciclo for

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260

    [BASH] Ciclo for

    Ciao a tutti,
    nel mio script richiamo un comando sql di oracle in questo modo e vado a salvare il risultato in una variabile:

    codice:
    output=`sqlplus -s $userDb/$pwdDb@$idDb @getInfo.sql;`
    dopo scorro il mio output cosi:

    codice:
    for item in $output
      do
          .......
    done
    Ma il mio output contiene oltre alle info di cui ho bisogno anche altre cose inutili.
    Mi spiego meglio.
    un output è per esempio una serie di numeri,ma seguite da parole aggiunte dal Database interrogato:

    1 2 3 4 5 7 8 22 34 9 righe scelte

    nel mio ciclo for vengono cosi considerate anche le 3 stringhe finali: "9" "righe" "scelte"
    e questo non deve accadere....
    Come posso fare ??

    grazie 1000

  2. #2
    Utente di HTML.it L'avatar di ibykos
    Registrato dal
    Feb 2005
    Messaggi
    201
    ci sono tantissimi modi più furbi di quello che sto per proporti, ma dovrei prendere un manuale per fornirne uno migliore.
    Se le ultime 3 parole dei output sono sempre inutili, le puoi eliminare con un filtro e con l'espressione regolare giusta:
    codice:
    [0-9]+ righe selezionate$
    questa regexp seleziona la parte inutile della stringa di output
    codice:
    echo $output | sed g/[0-9]+ righe selezionate$//p
    Una sintassi di questo tipo (non ho modo di provarla al momento, sono su windows) resituisce la stringa priva della parte inutile.

    Ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    grazie ...ma alla fine mi sono arrangiato.... ottengo il numero di elementi dentro ad output in questo modo:

    COUNTER=$(echo $output|wc -w)

    e poi con un contatore dentro il for faccio in modo tale che sei i==counter-3 , esco dal for ...

    grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.