From 40f866e482840025b40aadd030a59223802bcc9b Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Tue, 24 Jan 2023 12:56:34 -0500 Subject: [PATCH] Add cargo space dir listing option --- home/bin/cargo-space | 46 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/home/bin/cargo-space b/home/bin/cargo-space index 624c08d..3e936ec 100755 --- a/home/bin/cargo-space +++ b/home/bin/cargo-space @@ -2,6 +2,7 @@ total_cargo_build_space() { local -r dir="$1" + local -r list="$2" local cargo_toml_path local target_path @@ -12,16 +13,49 @@ total_cargo_build_space() { target_path=$(dirname "$cargo_toml_path")/target; if test -d "$target_path" then - du -s "$target_path"; fi - done \ - | awk '{tot += $1} END {print tot * 1024}' \ - | numfmt --to=iec + if [[ "$list" -eq 1 ]] + then + du -sh "$target_path" + else + du -s "$target_path" + fi + fi + done \ + | if [[ "$list" -eq 1 ]] + then + sort -h -k 1 + else + awk '{tot += $1} END {print tot * 1024}' | numfmt --to=iec + fi } main() { - local -r dir="${1-$HOME}" + local dir="$HOME" + local list=0 + local arg - total_cargo_build_space "$dir" + while : + do + arg="$1" + case "$arg" in + '') + break + ;; + -l | --list) + list=1 + shift + ;; + -*) + printf 'Unknown flag: "%s"\n' "$arg" >&2 + exit 1 + ;; + *) + dir="$arg" + shift + esac + done + + total_cargo_build_space "$dir" "$list" } main "$@" -- 2.20.1