Skip to main content
ubuntuask.com

Back to all posts

How to Compare Folders Size In Bash/Sh?

Published on
3 min read
How to Compare Folders Size In Bash/Sh? image

To compare folder sizes in bash/sh, you can use the du command to display the size of each folder in bytes. You can also use a combination of du and sort commands to list the folders in descending order of size. Another option is to use the awk command to sum up the sizes of all folders and then compare them using conditional statements. By using these commands and techniques, you can easily compare folder sizes in bash/sh and determine which folder is larger or smaller.

What is the best way to compare folders size in bash?

One way to compare folder sizes in bash is by using the du (disk usage) command to display the size of each folder and then comparing the sizes using conditional statements.

For example, you can use the following script to compare the sizes of two folders:

size_folder1=$(du -s folder1 | cut -f1) size_folder2=$(du -s folder2 | cut -f1)

if [ $size_folder1 -gt $size_folder2 ]; then echo "Folder 1 is larger" elif [ $size_folder1 -lt $size_folder2 ]; then echo "Folder 2 is larger" else echo "Folders are the same size" fi

This script uses the du -s command to get the size of each folder and the cut command to extract only the size value. It then compares the sizes and prints out a message indicating which folder is larger.

What is the syntax for comparing folders size using du command in bash?

To compare the size of two folders using the du command in bash, you can use the following syntax:

du -sh folder1 folder2

This command will display the total size of both folder1 and folder2 in a human-readable format, allowing you to compare the sizes of the two folders.

How to compare multiple folders sizes in bash?

One way to compare multiple folders sizes in bash is to use the du (disk usage) command to get the size of each folder and then use a loop to iterate over each folder and compare their sizes.

Here is an example script that compares the sizes of multiple folders:

#!/bin/bash

List of folders to compare

folders=(/path/to/folder1 /path/to/folder2 /path/to/folder3)

Iterate over each folder

for folder in "${folders[@]}" do size=$(du -sh "$folder" | cut -f1) echo "Size of $folder: $size" done

This script will output the size of each folder in the folders array. You can modify the script to compare the sizes and perform any desired actions based on the comparison results.