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

Re: domanda rapida



On Mon, Sep 16, 2002 at 02:03:12PM +0200, Paolo Marchiori wrote:
> Roberto Rotta, Mon, Sep 16, 2002 at 01:51:51PM +0200:
> > > find /path/to/directory/* | wc -l
> > Pero` forse cosi` conteggia anche le directory e i file nelle
> > subdirectory
> > $ ls -al | grep -v ^- | wc -l
> 
> la madonna, TRE processi!
> bastava aggiungere -maxdepth 0 -type f al find!
> 
> io resto dell'idea che se non hai questo problema si possa fare un 
> ls -l e sottrarre 2 al numero dei links (quello dopo i perms).
"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...).

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... ;-)

Ciao,
/dev/null



Reply to: