On Monday 12 March 2007 12:47:59 Dan Uscatu wrote:
> > find fara xargs ... find direct cu exec. o sa il sparga pe xargs
> > daca e asa cum zice el.
>
> interesant, afisarea crapa, nu listarea in sine.
>
> # ls | wc -l
> 228319
>
> merge si ls > /tmp/file , deci pot vedea daca-mi mai trebuie ceva :)

Daca dadeai cumva "ls a*" atunci trebuie sa stii ca intai se facea expandarea 
argumentelor de catre bash si abia apoi se executa comanda "ls". Vezi "man 
bash", EXPANSION / Pathname expansion.

Cu alte cuvinte, daca tu ai intr-un director fisierele: a1, a2 si a3, executia 
comenzii "ls a*" se va transforma de fapt in "ls a1 a2 a3".

In momentul in care ai foarte multe fisiere, in mod normal bash-ul ar trebui 
sa-ti dea peste degete si sa nu te lase sa executi o comanda cu o lista de 
argumente atat de mare. Numai ca mai sunt cazuri in care bash-ul se agata...


BTW, daca fisierele pe care vrei sa le stergi sunt create de un program cu cap 
si contin un pattern in nume, le poti sterge usor cu:

    find /dir -name "pattern*" -print0 | xargs -0 rm -f


Mihai

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui