[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: domanda rapida - stat()



* Paolo Marchiori [16 Sep 2002, 14:03 +0200]:
> > $ ls -al | grep -v ^- | wc -l
> la madonna, TRE processi!
> bastava aggiungere -maxdepth 0 -type f al find!

in effetti... che spreco...

zsh% echo ${#${(@f)"$(ls -q *(.) .*(.))"}}
Meno di un processo penso sia infattibile :)

* /dev/null [16 Sep 2002, 15:02 +0200]:
> "ls -1" (o "ls -A1") e` _molto_ meglio: con "ls -l", ma anche con
> "find -type f", il sistema deve fare una chiamata stat() per ogni file
> che trova (deve leggersi l'inode del file per sapere se e` un file,
> quanto e` grande eccetera), e se i file sono davvero tanti la
> performance ne risente pesantemente (se poi magari il tutto e` via
> NFS...).

Scusa, ma se vuoi discriminare le directory, la stat() la devi chiamare
per forza di cose. O sbaglio?

> Nota ultrapedante: se il nome di un file contiene un \n (un "a capo")
> queste prove conterebbero il file 2 volte. Sia con find che con ls si
> possono "proteggere" i caratteri come \n. Read the fine manual... ;-)

Done that! Thank you!

Ciao, Roberto



Reply to: