Determining the number of files in a directory
This is probably a dumb question; however, I never let a little thing like that bother me in the past. 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. Other than, by writing a script to accomplish this feat, how could I achieve my goal? Thanks! -- White Hat [EMAIL PROTECTED] __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
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 Dan -- Daniel Bye _ ASCII ribbon campaign ( ) - against HTML, vCards and X - proprietary attachments in e-mail / \ pgpfFHUz0Kapy.pgp Description: PGP signature
Re: Determining the number of files in a directory
On Sat, Nov 03, 2007 at 12:41:51PM +, 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 -- Daniel Bye _ ASCII ribbon campaign ( ) - against HTML, vCards and X - proprietary attachments in e-mail / \ pgpxwNPZjXDGB.pgp Description: PGP signature
Re: Determining the number of files in a directory
El día Saturday, November 03, 2007 a las 05:27:06AM -0700, White Hat escribió: This is probably a dumb question; however, I never let a little thing like that bother me in the past. 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. Other than, by writing a script to accomplish this feat, how could I achieve my goal? $ ls | wc -l 293 matthias -- Matthias Apitz Manager Technical Support - OCLC PICA GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e [EMAIL PROTECTED] - w http://www.oclcpica.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
Daniel Bye wrote: On Sat, Nov 03, 2007 at 12:41:51PM +, 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 ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
On Saturday 03 November 2007, Daniel Bye wrote: On Sat, Nov 03, 2007 at 12:41:51PM +, 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. find /target/directory -type f -maxdepth 1 | wc -l should do the trick. See also man find and man wc, of course. JN ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
On Sat, 2007-11-03 at 12:49 +, Daniel Bye wrote: On Sat, Nov 03, 2007 at 12:41:51PM +, 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. $ find /target/directory -maxdepth 1 -type f -print | wc -l should do what you want though. Dan signature.asc Description: This is a digitally signed message part
Re: Determining the number of files in a directory
Daniel Bye wrote: On Sat, Nov 03, 2007 at 12:41:51PM +, Daniel Bye wrote: [...] 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. ls -aF | grep -v /$ | wc -l is a quick, if somewhat ugly, way to do it. It counts the dotfiles too. Erik ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
On Sat, 3 Nov 2007 10:44:43 -0400 John Nielsen [EMAIL PROTECTED] wrote: On Saturday 03 November 2007, Daniel Bye wrote: On Sat, Nov 03, 2007 at 12:41:51PM +, 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. find /target/directory -type f -maxdepth 1 | wc -l should do the trick. See also man find and man wc, of course. That's better than ls(1), which is terribly slow at displaying (actually: at sorting) large directories. In this case, better turn off sorting with 'ls -f': $ time ls -f /usr/local/news/News | wc -l 0.42 real 0.29 user 0.07 sys 35935 $ time ls /usr/local/news/News | wc -l 147.02 real33.92 user 0.07 sys 35935 -cpghost. -- Cordula's Web. http://www.cordula.ws/ ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
On Sat, Nov 03, 2007 at 09:07:18PM +0100, cpghost wrote: On Sat, 3 Nov 2007 10:44:43 -0400 John Nielsen [EMAIL PROTECTED] wrote: On Saturday 03 November 2007, Daniel Bye wrote: On Sat, Nov 03, 2007 at 12:41:51PM +, 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. find /target/directory -type f -maxdepth 1 | wc -l should do the trick. See also man find and man wc, of course. That's better than ls(1), which is terribly slow at displaying (actually: at sorting) large directories. In this case, better turn off sorting with 'ls -f': $ time ls -f /usr/local/news/News | wc -l 0.42 real 0.29 user 0.07 sys 35935 $ time ls /usr/local/news/News | wc -l 147.02 real33.92 user 0.07 sys 35935 And ls -lf makes working with awk faster, too. E.g: % ls -lf | awk '$8 == 2007 {print $9}' % ls -ltf | awk '$8 == 2007 {print $9}' If you've got a large number of files, ls -lf is roughly twice as fast. gary -cpghost. -- Cordula's Web. http://www.cordula.ws/ ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED] -- Gary Kline [EMAIL PROTECTED] www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Determining the number of files in a directory
White Hat wrote: This is probably a dumb question; however, I never let a little thing like that bother me in the past. 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. Other than, by writing a script to accomplish this feat, how could I achieve my goal? I find that the most intuitive way is to use something like: find . -maxdepth 1 | wc -l Where you can specify how many levels of subdirectories to include in the count. Please note that count also includes the current directory (.). To exclude hidden files (.*), use find * -maxdepth 0 | wc -l or expr `ls -l | wc -l` - 1 instead. Thanks! -- Pietro Cerutti PGP Public Key: http://gahr.ch/pgp signature.asc Description: OpenPGP digital signature