mirror of https://github.com/01-edu/public.git
eslopfer
2 years ago
1 changed files with 64 additions and 0 deletions
@ -0,0 +1,64 @@
|
||||
#!/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 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 |
Loading…
Reference in new issue