#!/bin/bash # Recursively count files for any number of directories. # Originally wrote to count database files for our network's # data servers. # # Works whenever need to count files for one or more # directories. Will give individual and aggregate counts. # # Bryan Smith - 2008 # Add directories to check. Each directory must have a unique # index, e.g., # Directories[0]="/my/first/path" # Directories[1]="/my/second/path" declare -a Directories Directories[0]="/media/sda1/data" Directories[1]="/media/sdb1/data" Directories[2]="/media/sdc1/data" Directories[3]="/media/sdd1/data" TotalFileCount=0; for Directory in ${Directories[@]} do echo echo "Checking $Directory" # Find this data directory's data block (file) count DirectoryFileCount=`find $Directory -type f | wc -l` echo " Files in directory: $DirectoryFileCount" # Update total data block count TotalFileCount=`expr $TotalFileCount + $DirectoryFileCount` done echo "Total number of files: $TotalFileCount" echo "~ fin ~"