#!/bin/bash # Check if a directory is provided as an argument if [ -z "$1" ]; then echo "Usage: $0 " exit 1 fi # Calculate the disk usage of the directory and its children echo "Disk usage for directory: $1" echo "--------------------------" du -sh "$1" echo echo "Usage for each subdirectory" echo "--------------------------" # Iterate over each subdirectory for dir in "$1"/*; do if [ -d "$dir" ]; then # Get the disk usage of the subdirectory space_used=$(du -sh "$dir" | cut -f1) # Count the number of files in the subdirectory file_count=$(find "$dir" -type f | wc -l) # Output the subdirectory name, space used, and file count in tabular format printf "%-30s %-10s %10s files\n" "$(basename "$dir")" "$space_used" "$file_count" fi done