On Tue, 17 Oct 2006 12:50:46 +0200
Filippo Biondi <fbiondi@xxxxxxxxxxxxxxxx> wrote:
> ciao cari,
>
> /* in minima parte mi ricollego ad un post passato ieri */
>
> supponiamo che voglia passare ad un comando (es. cat) una serie di
> nomi di file che possono contenere spazi e glieli voglio dare uno
> dietro l'altro, non uno per uno (con xargs -0 sarebbe troppo
> semplice).
>
> Poniamo che abbia due file:
>
> fileUno.txt
> pippo Due.txt
>
> se scrivessi
>
> cat fileUno.txt pippo\ Due.txt
cat "pippo Due.txt" dovrebbe suggerirti q.che cosa.
> non ci sarebbero problemi di sorta.
>
> Detto questo mi cerco un modo per ottenere via bash la suddetta
> stringa ed ottengo
>
> ls *.txt |sed -e 's/\ /\\ /g'|tr [:cntrl:] " "
guarda bene l'output di ls a seconda della larghezza del tuo xterm.
ls -1 *.txt | while read
ivan@dark:~/test$ echo tonno >tonno
ivan@dark:~/test$ echo morto >morto
ivan@dark:~/test$ cat tonno morto
tonno
morto
ivan@dark:~/test$ cat tonno;cat morto
tonno
morto
o meglio
for i in *.txt
> Pero' se scrivo
>
> cat `ls *.txt |sed -e 's/\ /\\ /g'|tr [:cntrl:] " "`
>
> sono dentro FileUno
> cat: pippo: Nessun file o directory
> cat: Due.txt: Nessun file o directory
echo -e `ls | sed -e 's/\ /\\ /g'|tr [:cntrl:] " "`
--
Ivan Sergio Borgonovo
http://www.webthatworks.it
|