sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #08292
Re: Mange filer.
On Tue, May 25, 1999 at 08:43:35AM +0200, Carsten Svaneborg wrote:
> Hej.
>
> Jeg har på linux og HP'ere haft problemer med f.x. mv og tar når
> der er tale om mange filer (~30000 filer). Nogen der har forslag?
>
> Det er trælst at skulle lave mv a* somewhereelse, mv b* somewhereelse
> osv. når det tager ganske langtid at lave hver af disse.
>
Sådan som jeg forstår din beskrivelse af problemet ligger det
i din shell, som ikke kan håndtere kommandolinier over on vis
længde / et vist antal argumenter.
Det er et problem jeg selv er stødt ind i nogen gange, det plejer
(på både Linux og AIX) at lykkdes ved at lade xargs (et suverænt
værktøj) samle argumenterne, i stedet for shellen. Her er en
mulig måde at gøre det på:
(find . -type f ; echo somewhereelse) | xargs mv
Det xargs gør er at læse data fra stdin, og så putte det i enden
af den kommando linie du angiver.
En anden vej du kunne prøve var at bruge find mad en -exec, man det
er ikke særlig effektivt, da rm bliver kørt for hver fil:
find . -type f -exec 'mv {} somewhereelse' \;
Mvh,
Sune Kirkeby
Follow ups
References