erlug
[Top] [All Lists]

Re: [Erlug] [bash] passare come arg filenames with blanks

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] [bash] passare come arg filenames with blanks
From: Ivan Sergio Borgonovo <mail@xxxxxxxxxxxxxxx>
Date: Tue, 17 Oct 2006 13:11:25 +0200
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

<Prev in Thread] Current Thread [Next in Thread>