#!/bin/bash echo "Enter directory path: " read dir_path # Calculate the total size of all the files total_size=0 num_files=0 for file in $(find $dir_path -type f) do file_size=$(stat -c%s "$file") total_size=$((total_size + file_size)) num_files=$((num_files + 1)) done # Calculate the average size of all the files average_size=$((total_size / num_files)) # Find the largest and smallest files largest_file="" largest_file_size=0 smallest_file="" smallest_file_size=99999999999 for file in $(find $dir_path -type f) do file_size=$(stat -c%s "$file") if [ $file_size -gt $largest_file_size ] then largest_file=$file largest_file_size=$file_size fi if [ $file_size -lt $smallest_file_size ] then smallest_file=$file smallest_file_size=$file_size fi done # Print the results echo "Largest file: $largest_file ($largest_file_size bytes)" echo "Smallest file: $smallest_file ($smallest_file_size bytes)" echo "Average file size: $average_size bytes" # Print the files larger or equal than average size echo "Files larger or equal to average size ($average_size bytes):" for file in $(find $dir_path -type f) do file_size=$(stat -c%s "$file") if [ $file_size -ge $average_size ] then echo "$file $file_size" fi done # Print the files smaller than average size echo "Files smaller than average size ($average_size bytes):" for file in $(find $dir_path -type f) do file_size=$(stat -c%s "$file") if [ $file_size -lt $average_size ] then echo "$file $file_size" fi done