linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] bash scripting: muovere files

ollenotna2000 ollenotna2000 a yahoo.it
Mar 2 Lug 2013 19:50:00 UTC
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