#!/usr/bin/env bash #set -x set -u #PATH=/var/tmp:$PATH #export PATH if [ "$#" != 0 ] then hierarchy=("$@") else hierarchy=($(df-local | grep -vi '^filesystem' | sort | awk '{ print $6 }')) fi numhierarchies="${#hierarchy[@]}" echo Checking "$numhierarchies" hierarchies: "${hierarchy[@]}"... | fmt 1>&2 # list all directories in local hierarchies according to df-local for fsno in $(seq 0 $[$numhierarchies-1]) do h=${hierarchy[$fsno]} echo Examining hierarchy $[$fsno+1] of $numhierarchies, AKA "$h" | fmt 1>&2 if ! cd "$h" then echo Error, could not cd to mount point "$h" 1>&2 continue fi find "$h" -xdev -type f -print0 done | \ dir-sizes2 | \ highest -n 25