From 02013e8c082945ab21149e053e3cc7b7c49aca34 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Wed, 5 Mar 2025 14:13:02 +0000 Subject: [PATCH] refactor: replace folder_metrics.sh with folder-metrics.sh for improved output formatting --- folder-metrics.sh | 28 ++++++++++++++++++++++++++++ folder_metrics.sh | 27 --------------------------- 2 files changed, 28 insertions(+), 27 deletions(-) create mode 100755 folder-metrics.sh delete mode 100755 folder_metrics.sh diff --git a/folder-metrics.sh b/folder-metrics.sh new file mode 100755 index 0000000..50e2561 --- /dev/null +++ b/folder-metrics.sh @@ -0,0 +1,28 @@ +#!/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 diff --git a/folder_metrics.sh b/folder_metrics.sh deleted file mode 100755 index 33e34c1..0000000 --- a/folder_metrics.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/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 "Subdirectories and their usage:" -echo "---------------------------------" -du -sh "$1"/* - -echo "" -echo "Number of files in each subdirectory:" -echo "---------------------------------" -for dir in "$1"/*; do - if [ -d "$dir" ]; then - file_count=$(find "$dir" -type f | wc -l) - echo "$dir: $file_count files" - fi -done