[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux_var] bash



Prova a vedere se va: ( a me funziona)
oh... alla buona nè :D  Io vado a tentoni, sicuramente non e' il modo corretto.
non ci sono controlli di nessun tipo come giustamente suggeriva di fare Aladino

#!/bin/bash

tempfile="$HOME/.tempfile"

_main (){
echo "-------------------------------------------------------------------"
echo -n "Nome del file da cercare: "
read disegno

#Cerco e metto i risultati in un file temporaneo
grep -r -l "$disegno" > $tempfile

#Stampo ogni riga nel file temporaneo anteponendo un indice 
for rows in $(cat $tempfile)
do
echo "$counter - $rows"
#echo "$files"
counter=$(($counter + 1))   

done
#Chiamo la funzione
_vuoi_visualizzare 
}


_vuoi_visualizzare () {
#Chiede se si vuole visualizzare il file
echo "-------------------------------------------------------------------"
echo "Vuoi visualizzare il file?(s/n)"
read visualizza
if [ $visualizza == "s" ]; then

#Chiamo la funzione
_quale_visualizzare  
else
echo "Goodbye :-)"
fi
}


_quale_visualizzare () {
#Chiede il numero di file da visualizzare
echo "-------------------------------------------------------------------"
echo "Quale file vuoi visualizzare? (numero)"
read numero
#Aggiungo uno per pareggiare la conta da 0
miascelta=$(($numero + 1)) 
#Filtro il n° di riga che mi serve
nomefile=$(sed -n $miascelta"p" $tempfile)
echo "-------------------------------------------------------------------"
echo "Visualizzazione file: $nomefile"
echo "-------------------------------------------------------------------"
cat $nomefile
echo "-------------------------------------------------------------------"
echo "" 
#Cancello il file temporaneo prima di uscire
rm $tempfile
echo "Goodbye"
}

# Chiamo la funzione principale
_main

:)


2013/7/4 Elena ``of Valhalla'' <elena.valhalla@gmail.com>
On 2013-07-04 at 13:18:50 +0200, Cristian Gaiatto wrote:
> >     choice=whiptail --menu scegli 24 80 10 file1 file1 file2 file2
> Come alternativa è interessante. Il mio problema è che il comando
> grep mi dà come risultato un unica stringa contenente i file che ha
> trovato e non so come "trasformarla" in più dati da assegnare a
> file1 file2 ecc.
> Scusa il linguaggio poco tecnico.

così al volo mi viene in mente:

stringa="file1 file2"
whiptail --menu scegli 24 80 10 $(for ITEM in $stringa; do  echo -n
"$ITEM $ITEM "; done)

però in effetti in uno script la leggibilità comincia a risentirne

--
Elena ``of Valhalla''
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking

_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking