[MontelLUG] Aiuto con pipe/redirezioni/espressioni

Samuele samuele.zanin a tiscali.it
Sab 23 Apr 2011 14:46:58 CEST


On 22/04/2011 14:06, Andrea Della Regina wrote:
>
> Ciapa:
>
> $ mkdir dir1 dir2
> $ touch dir1/file1
> $ touch dir1/file2
> $ touch dir1/file3
>
> $ ls -t dir1/* | ( read ignore&&  while read f; do mv "$f" dir2 ; done )
> $ ls dir1
> file3
> $ ls dir2
> file1  file2
>
> Naturalmente il comando è quello lungo... avverto che con con lunghe
> liste di file potrebbe non funzionare, in tal caso cambiarlo in:
>
> $ ls -t dir1 | ( read ignore&&  while read f; do mv "dir1/$f" dir2 ; done )
>
1) perché potrebbe non funzionare?
2) non sapevo dell'esistenza del comando read e ignore.

> Se poi vuoi spostare solo i file regolari e non, ad esempio le directory:
>
> $ ls -t dir1 | ( read ignore&&  while read f; do if [ -f "dir1/$f" ];
> then mv "dir1/$f" dir2; fi ; done )

Ok. Qui non l'ho messo, ma filtrerò per estensine i file.

Grazie a te ed a tutti gli altri per i consigli.






More information about the montellug mailing list