linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] domanda stupida su bash

Rampage * atomikramp a gmail.com
Ven 3 Dic 2010 11:01:53 UTC
2010/12/3 Claudio Moretti <flyingstar16 a gmail.com>

>
>
> 2010/12/3 Rampage * <atomikramp a gmail.com>
>
>
>>
>> 2010/12/3 Enrico Colombini <erix a erix.it>
>>
>> On 03/12/2010 9.18, Rampage * wrote:
>>>
>>>> for a in $(cat listafile.txt); do cp -p $a /path/destinazione; done
>>>>
>>>> solo che per fare una prova prima di lanciare il comando vero e proprio
>>>> ho
>>>> fatto
>>>> for a in $(cat listafile.txt); do echo $a; done
>>>>
>>>> e il risultato è stato tutto fuor che confortante, nel senso che ad ogni
>>>> spazio crea una nuova riga perchè lo prende come separatore.
>>>>
>>>> qualcuno mi da una dritta?
>>>>
>>>
>>> echo "$a"
>>>
>>> (non so se basti o se ci sono problemi anche col for)
>>>
>>> --
>>>  .Erix.
>>>
>>>  -
>>
>>
>> Credo il problema sia sullo spazio, non ci sono doppi apici che tengano,
>> purtroppo :(
>>
>> Francesco
>>
>>>
>>
>>
>> Google dice di provare con
>  cat listafile.txt | while read line; do echo $line; done;
> =)
>
>
>
>> claudio a Jarvis:/tmp$ cat listafile.txt
>> asd asd asd
>> dsa dsa dsa
>> qwe qwe qwe
>> ewq ewq eqw
>
> claudio a Jarvis:/tmp$ cat listafile.txt | while read line; do echo $line;
>> done;
>> asd asd asd
>> dsa dsa dsa
>> qwe qwe qwe
>> ewq ewq eqw
>>
>>
> Ciao,
> Claudio
>
> Ciao,

e questo in un certo senso mi risolve il problema dell'echo
ma non quello del cp -p
nel senso che comunque non mi prende il percorso e il filename correttamente
essendoci gli spazi nella stringa.

Francesco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lugbs.linux.it/pipermail/lug/attachments/20101203/569da3f6/attachment.html>


Maggiori informazioni sulla lista Lug