aboutsummaryrefslogblamecommitdiff
path: root/bin/cfr.sh
blob: 9d13785c538413beb15ca31167327a177aafcb87 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
                                             


                                                                               
                         
 





                                                 
 


                                         
 
                                                 
            
      
    

                                                           
               
# Count entries in a given set of directories

# Iterate over remaining non-option arguments (directories); default to current
# directory if none given
for dir in "${@:-.}" ; do

    # Attempt to count the files in a subshell
    if count=$(
        cd -- "$dir" || exit
        find . ! -name . -exec printf %.sx {} + |
        wc -c
    ) ; then

        # If it worked, print the count
        printf '%u\t%s\n' "$count" "$dir"
    else

        # If not, set the error flag and continue
        ex=1
    fi
done

# Exit non-zero if a non-directory was given as an argument
exit "${ex:-0}"