[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux_var] bash
- To: linux_var - LUG di Varese e Provincia Mailing List <talking@ml.linuxvar.it>
- Subject: Re: [linux_var] bash
- From: Gianluca Zoni <zoninoz@inventati.org>
- Date: Thu, 4 Jul 2013 15:29:16 +0200
- Authentication-results: linuxvar.it; dkim=pass (1024-bit key; insecure key) header.i=@inventati.org; dkim-adsp=pass
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ml.linuxvar.it; s=mail; t=1372944353; bh=GMqM+TgoLDPr9hUrvSgYgM6OAh3IPFUz9Zvwpx7NVqA=; h=Date:From:To:References:MIME-Version:In-Reply-To:Subject:Reply-To: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: List-Subscribe:Content-Type:Content-Transfer-Encoding:Sender; z=Received:=20from=20latitanza.investici.org=20(latitanza.investici .org=0D=0A=09[82.94.249.234])=20by=20linuxvar.it=20(Postfix)=20wit h=20ESMTPS=20id=204BE6C3C3354=0D=0A=09for=20<talking@ml.linuxvar.i t>=3B=20Thu,=20=204=20Jul=202013=2015:25:31=20+0200=20(CEST)|Authe ntication-Results:=20linuxvar.it=3B=20dkim=3Dpass=20(1024-bit=20ke y=3B=20insecure=20key)=0D=0A=09header.i=3D@inventati.org=3B=20dkim -adsp=3Dpass|Received:=20from=20[82.94.249.234]=20(latitanza=20[82 .94.249.234])=20(Authenticated=0D=0A=09sender:=20zoninoz@inventati .org)=20by=20localhost=20(Postfix)=20with=0D=0A=09ESMTPSA=20id=205 B12998141=0D=0A=09for=20<talking@ml.linuxvar.it>=3B=20Thu,=20=204= 20Jul=202013=2013:25:30=20+0000=20(UTC)|X-DKIM:=20Sendmail=20DKIM= 20Filter=20v2.8.2=20latitanza.investici.org=205B12998141|DKIM-Sign ature:=20v=3D1=3B=20a=3Drsa-sha256=3B=20c=3Drelaxed/relaxed=3B=20d =3Dinventati.org=3B=0D=0A=09s=3Dstigmate=3B=20t=3D1372944330=3B=0D =0A=09bh=3DBf4YJkaw7JWchcxtogl9tEnvTVc9Ilcu8EXLzjbZYTA=3D=3B=0D=0A =09h=3DDate:From:To:Subject:Message-ID:References:MIME-Version:=0D =0A=09Content-Type:Content-Transfer-Encoding:In-Reply-To=3B=0D=0A= 09b=3DgbM0kXnjq10aJVHSbJ1UOVugHLEvAfuowQRFswhma2ZfayXsMGnBAAJmmtj7 2+aE3=0D=0A=09C79T6IeX8D8YBQYGCUyxcNaOmT977JPp8W1jz08gISlEs1DgdvxC Xsj5ZG29+AfuEt=0D=0A=09xIWFwX4zL9oR6x7KdqQTOGWJppHJzGEx5seRF0ys=3D |Date:=20Thu,=204=20Jul=202013=2015:29:16=20+0200|From:=20Gianluca =20Zoni=20<zoninoz@inventati.org>|To:=20linux_var=20-=20LUG=20di=2 0Varese=20e=20Provincia=20Mailing=20List=20<talking@ml.linuxvar.it >|References:=20<20130704111001.27478d25abcce2996c0831a3@gmail.com >=0D=0A=09<20130704093229.GC13939@virginsteele.home.trueelena.org> =0D=0A=09<51D55A1A.2050301@gmail.com>=0D=0A=09<20130704113956.GD19 451@virginsteele.home.trueelena.org>|MIME-Version:=201.0|Content-D isposition:=20inline|In-Reply-To:=20<20130704113956.GD19451@virgin steele.home.trueelena.org>|X-Operating-System:=20"Linux=203.2.0-4- amd64=20-=20powered=20by=20Debian"|X-Editor:=20GNU=20Emacs=2023.4. 1|X-URL:=20http://inventati.org/zoninoz|X-GPG-Keyserver:=20http:// keyserver.linux.it:11371/pks/lookup?op=3Dvindex&fingerprint=3Don&s earch=3D0xFFB54463FD0AEE0A|X-GPG-Keynumber:=20FD0AEE0A|X-GPG-Finge rprint:=20C8D9=20AE3D=20DB20=20F198=205788=20=205018=20FFB5=204463 =20FD0A=20EE0A|User-Agent:=20Mutt/1.5.21=20(2010-09-15)|Subject:=2 0Re:=20[linux_var]=20bash|X-BeenThere:=20talking@ml.linuxvar.it|X- Mailman-Version:=202.1.13|Precedence:=20list|Reply-To:=20linux_var =20-=20LUG=20di=20Varese=20e=20Provincia=20Mailing=20List=0D=0A=09 <talking@ml.linuxvar.it>|List-Id:=20linux_var=20-=20LUG=20di=20Var ese=20e=20Provincia=20Mailing=20List=0D=0A=09<talking.ml.linuxvar. it>|List-Unsubscribe:=20<http://ml.linuxvar.it/cgi-bin/mailman/opt ions/talking>,=0D=0A=09<mailto:talking-request@ml.linuxvar.it?subj ect=3Dunsubscribe>|List-Archive:=20<http://ml.linuxvar.it/pipermai l/talking>|List-Post:=20<mailto:talking@ml.linuxvar.it>|List-Help: =20<mailto:talking-request@ml.linuxvar.it?subject=3Dhelp>|List-Sub scribe:=20<http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking> ,=0D=0A=09<mailto:talking-request@ml.linuxvar.it?subject=3Dsubscri be>|Content-Type:=20text/plain=3B=20charset=3D"iso-8859-1"|Content -Transfer-Encoding:=20quoted-printable|Sender:=20talking-bounces@m l.linuxvar.it|Errors-To:=20talking-bounces@ml.linuxvar.it; b=pe+r6IxtiRbLmtealrUGyke1J+bQDhlMPfc8Nuf/6ET0Cqi0lrhv5zBfFqsCbXfHX 7M46p9Ee849OlmEk6MWNcb30sAWxaSA3A0qncGpdYkha+gkPlVzk8jkSYzxU+q5NKa Y1VJJLlz5LDLoy9Kv/z2oPyDMh20/Ap6vRLX4BTQ=
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inventati.org; s=stigmate; t=1372944330; bh=Bf4YJkaw7JWchcxtogl9tEnvTVc9Ilcu8EXLzjbZYTA=; h=Date:From:To:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Transfer-Encoding:In-Reply-To; b=gbM0kXnjq10aJVHSbJ1UOVugHLEvAfuowQRFswhma2ZfayXsMGnBAAJmmtj72+aE3 C79T6IeX8D8YBQYGCUyxcNaOmT977JPp8W1jz08gISlEs1DgdvxCXsj5ZG29+AfuEt xIWFwX4zL9oR6x7KdqQTOGWJppHJzGEx5seRF0ys=
- In-reply-to: <20130704113956.GD19451@virginsteele.home.trueelena.org>
- List-archive: <http://ml.linuxvar.it/pipermail/talking>
- List-help: <mailto:talking-request@ml.linuxvar.it?subject=help>
- List-id: linux_var - LUG di Varese e Provincia Mailing List <talking.ml.linuxvar.it>
- List-post: <mailto:talking@ml.linuxvar.it>
- List-subscribe: <http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking>, <mailto:talking-request@ml.linuxvar.it?subject=subscribe>
- List-unsubscribe: <http://ml.linuxvar.it/cgi-bin/mailman/options/talking>, <mailto:talking-request@ml.linuxvar.it?subject=unsubscribe>
- References: <20130704111001.27478d25abcce2996c0831a3@gmail.com> <20130704093229.GC13939@virginsteele.home.trueelena.org> <51D55A1A.2050301@gmail.com> <20130704113956.GD19451@virginsteele.home.trueelena.org>
- Reply-to: linux_var - LUG di Varese e Provincia Mailing List <talking@ml.linuxvar.it>
- Sender: talking-bounces@ml.linuxvar.it
- User-agent: Mutt/1.5.21 (2010-09-15)
On 040713, 13:39, Elena ``of Valhalla'' wrote:
> 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
>
#i nomi dei file potrebbero avere spazi? ti conviene ciclare un array:
files=( "file1" "file2" ... )
whiptail --menu scegli 24 80 10 $(for i in $(seq 0 $(( ${#files[*]}-1 )) ); do echo "${files[$i]}"; done)
#il problema che segnala Christian è però più complesso: se i file hanno spazi nei nomi, i nomi vanno prima riassemblati e identificati come nomi di file, quin#di non è sufficiente scrivere files=( "file1" "file2" ... )
#
#riassemblare i nomi dei file inserendoli in un array, a partire da una stringa (di esempio):
path="/percorso/"
stringa="file con spazi.txt file_senza_spazi.txt"
i=0
for item in $stringa; do
if [ -f "${path}$item" ]; then
files[$i]="$item"
(( i++ ))
else
[ ! -z "$cons" ] && item=" $item"
cons="${cons}$item"
if [ -f "${path}$cons" ]; then
files[$i]="$cons"
(( i++ ))
unset cons
fi
fi
done
#### legge di murphy! (se gli spazi possono occorrere nei nomi dei file, allora occorreranno)
--
Z O N I N O Z
Gianluca Zoni
zoninoz@inventati.org
http://inventati.org/zoninoz
http://savannah.gnu.org/users/zoninoz
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking