Number of files per directory


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Number of files per directory
# 1  
Old 02-16-2010
Question Number of files per directory

Hi Guys,

I am trying to display the total number of files within a directory (including sub dirs): i.e.

Code:
solaris>  du -sh * | sort +0rn 
1009K   cron
 940K   lib
 849K   svc
 489K   cacao
 261K   opt
 212K   preserve
 167K   dt

But instead of the size I would like the number of files and there equiv dir.

Thanks in advance!!!!SmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilie

Last edited by Franklin52; 02-16-2010 at 10:37 AM.. Reason: Please use code tags!
# 2  
Old 02-16-2010
Dont know...
I would use
Code:
ls -lR| wc -l

But the proper way would be to use find, so look at the man pages of find, especially -type option
# 3  
Old 02-16-2010
that would give me the entire number of files in the dir and recursivly as a single interger. not per directory basis i.e.

Directory Number of Files (incl sub dirs)
/var 112312
/etc 35210

and so on

but thanks for responding tho

---------- Post updated at 11:20 AM ---------- Previous update was at 11:14 AM ----------

I have found this command that works on Linux (RHEL5) but doesnt work on Solaris and also is too granular and indicates the size of each sub dir and doesnt just give me the total instead:

find . -type f | awk '{dir=gensub(/(.+\/).+/,"\\1","g",$0); dir_list[dir]++} END {for (d in dir_list) printf "%s %s\n",d,dir_list[d]}' | sort
This User Gave Thanks to flexinfo For This Post:
# 4  
Old 02-16-2010
One approach:

Code:
#!/bin/ksh
(
find . -type d -print|sort|while read DIR
do
        FILES_TOT=`find "${DIR}" -type f -print|wc -l`
        echo "${FILES_TOT} ${DIR}"
done
) | sort -n -r

# 5  
Old 02-16-2010
or awk -
Code:
find /path -type f -exec dirname {} \; | 
    awk -F '/' {arr[$2]++} END { for (i in arr) { print i, arr[i] } }' | sort

for top level directories only

Last edited by jim mcnamara; 02-16-2010 at 04:04 PM.. Reason: change $1 to $2
# 6  
Old 02-17-2010
Thanks for your response guys:

Meth: thats good! but is there a way that it can just give my the total number of files within the dir instead of each one? group them together ie. from root: /var 100234 which includes all of /var subdirs. /etc 1323423 which includes all /etc subdirs.


Jim: I keep getting an error with your awk version:

bash: syntax error near unexpected token `(i'
syntax error near unexpected token `('

nice work btw.
# 7  
Old 02-17-2010
This would seem to be closer to your requirement. First find the names of the directories then count the number of files (excluding anything which is not a file) in each top level directory. If you are counting files in areas like /usr and /var it is usually necessary to stop "find" following links into other filesystems.

Code:
#!/bin/ksh
(
ls -lad ./*|grep \^dr|awk '{print $9}'|while read SUBDIR
do
        COUNTER=`find "${SUBDIR}" -xdev -type f -print|wc -l|sed -e "s/ //g"`
        echo "${COUNTER} ${SUBDIR}"
done
) 2>&1 | sort -n -r

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to count number of files in directory and write to new file with number of files and their name?

Hi! I just want to count number of files in a directory, and write to new text file, with number of files and their name output should look like this,, assume that below one is a new file created by script Number of files in directory = 25 1. a.txt 2. abc.txt 3. asd.dat... (20 Replies)
Discussion started by: Akshay Hegde
20 Replies

2. Shell Programming and Scripting

Copy a number of files to a directory, then more to another

I can't find how to do this. I want to take a bulk of files, and copy/move a specific number of them (say 1000) to a newly created directory. Once that directory is full, I want to create a new folder and copy/move another batch of files, and so on. Seems like there should be an easy way to... (6 Replies)
Discussion started by: twjolson
6 Replies

3. UNIX for Dummies Questions & Answers

Count number of files in directory excluding existing files

Hi, Please let me know how to find out number of files in a directory excluding existing files..The existing file format will be unknown..each time.. Thanks (3 Replies)
Discussion started by: ammu
3 Replies

4. Shell Programming and Scripting

count number of files in a directory

what's the script to do that? i want to only count the number of files in that directory, not including any sub directories at all (5 Replies)
Discussion started by: finalight
5 Replies

5. Shell Programming and Scripting

Count the number of files in a directory

Hi All, How do i find out the number of files in a directory using unix command ? (14 Replies)
Discussion started by: Raynon
14 Replies

6. UNIX for Dummies Questions & Answers

Number of files in a directory

I have a directory which has lots of directories and files in it. I want to determine the total number of files in the top level directory (inclduing the files in sub-dirs) Is there a unix command of that ?/ Thanks !!! (3 Replies)
Discussion started by: tantric
3 Replies

7. Shell Programming and Scripting

Number of files in a particular directory

Hi, I am new to unix shell scripting.I am using Korn shell. I need to find if there are any files in a particular directory.first I need to find the number of files in the directory.If the file count is greater than 0 then I have to print the file names in a textfile and send an email to the... (5 Replies)
Discussion started by: dbplatha
5 Replies

8. UNIX for Dummies Questions & Answers

Counting number of files in a directory

Some simple questions from a simple man. If i wanted to count the number of files contained within a directory, say /tmp would ls -l /tmp ¦ wc -l suffice and will it be accurate? second one: How would i check the number of files with a certain string in the filename, in the same directory. ... (2 Replies)
Discussion started by: iamalex
2 Replies

9. UNIX for Advanced & Expert Users

limit to number of files in a given directory

Everyone, We are on a unix AIX 4.3 platform and our application is written as such that all configuration files must reside in a specific directory. Currently there are over 10,000 files in this directory (and growing at about 300 per month). My question is is there a physical limit to the... (2 Replies)
Discussion started by: hedrict
2 Replies

10. UNIX for Dummies Questions & Answers

printing number of files ONLY in ~ directory

Could someone help me please. I'm trying to write a shell script that prints the number of files I have in my home directory. Files only though, directories not included. I was thinking about using a pipe that includes wc but I don't know any commands that isolate the number of files you have in... (4 Replies)
Discussion started by: fasdafdsf
4 Replies
Login or Register to Ask a Question