[LugBS] bash scripting: muovere files
Furio
furio.settimi a gmail.com
Mar 2 Lug 2013 20:06:17 UTC
for d in *;do cd $d; mkdir vecchi; mv * vecchi/ ; cd ../ ;done
si che va
Il 02/07/2013 21:50, ollenotna2000 ha scritto:
> Il 02/07/2013 21:06, ollenotna2000 ha scritto:
>> Ho una serie di directory:
>> nome1, nome2 ... nomeN
>>
>> voglio in ognuna di queste directory creare una sottodirectory e in
>> questa spostare tutti i files presenti nella directory stessa.
>> esempio prima:
>>
>> dir1
>> file 1
>> file 2
>> file 3
>>
>>
>> dopo:
>>
>> dir1
>> sottodir1
>> file 1
>> file 2
>> file 3
>>
>> la prima parte, cioè la creazione della sottodirectory, la ottengo con:
>>
>> for dir in */; do mkdir -- "$dir/vecchi"; done
>>
>> ora mi manca lo spostamento dei files...
>>
>> for dir in */; do mkdir -- "$dir/vecchi";mv "$dir/*" "$dir/vecchi"; done
>>
>> mi ritorna errore:
>>
>> mv: impossibile eseguire stat di "dir1//*": File o directory non
>> esistente
>>
>> che sbaglio?
>>
>> Antonello
>>
>
> avrei trovato:
>
> for dir in */; do cd "$dir"; mv -t vecchi *; cd ..; done
>
> e fa quello che voglio, ma insieme mi ritorna l'errore: non posso
> copiare una directory ricorsivamente in se stessa, perche * cprende
> tutto, files e dir. come faccio a non avere questo warning?
>
> Antonello
>
Maggiori informazioni sulla lista
Lug
|