Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Nov 2007 15:14:19 +0100
From:      "[LoN]Kamikaze" <LoN_Kamikaze@gmx.de>
To:        FreeBSD Users Questions <freebsd-questions@freebsd.org>
Subject:   Re: Determining the number of files in a directory
Message-ID:  <472C823B.8020901@gmx.de>
In-Reply-To: <20071103124932.GB3207@torus.slightlystrange.org>
References:  <538619.51984.qm@web34408.mail.mud.yahoo.com>	<20071103124151.GA3207@torus.slightlystrange.org> <20071103124932.GB3207@torus.slightlystrange.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Daniel Bye wrote:
> On Sat, Nov 03, 2007 at 12:41:51PM +0000, Daniel Bye wrote:
>> On Sat, Nov 03, 2007 at 05:27:06AM -0700, White Hat wrote:
>>> This is probably a dumb question; however, I never let a little thing like 
>>> that bother me in the past.
>> Heheh! You and many more, my friend, myself absolutely included!
>>
>>> Using FreeBSD-6.2 and Bash, how do I determine the number of files in a 
>>> given directory? I have tried all sorts of combinations using different 
>>> flags with the 'ls' command; however, none of them displays the number of 
>>> files in the directory.
>>  $ ls | wc -l
>>
>> will show you how many files and directories in the current (target)
>> directory. To count just files, and exclude directories, you could try
>> something like
>>
>>  $ find /target/directory -type f -print | wc -l
> 
> Except of course, that would descend into the subdirectories you're trying
> not to count... Sorry - an object lesson in not hitting send before you've
> tested what you scribbled.
> 
> Dan
> 

Well just use the Unix tool for everything - grep:

$ ls -F | grep -Ev '/$'|wc -l

or if you also want to exclude symlinks:

$ ls -F | grep -Ev '/$|@$'|wc -l



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?472C823B.8020901>