Determining the number of files in a directory

[LoN]Kamikaze LoN_Kamikaze at
Sat Nov 3 07:41:20 PDT 2007

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

More information about the freebsd-questions mailing list