Usage: dpkg-installedsize [OPTIONS]
Options:
-f FMT Set format (default: "%'9d KiB\t%s\n")
-n Sort with package name
-s Sort with installed size
MIT license.
| #!/usr/bin/env bash | |
| # dpkg-installedsize: Show installed size of each installed deb package. | |
| # Copyright (c) 2018. Koichi OKADA. All rights reserved. | |
| # This script destributed under the MIT license. | |
| function usage () | |
| { | |
| cat <<-EOD | |
| Usage: ${0##*/} [OPTIONS] | |
| Options: | |
| -f FMT Set format (default: "${FMT}") | |
| -n Sort with package name | |
| -s Sort with installed size | |
| EOD | |
| } | |
| function error () # [messages] | |
| { | |
| echo -e "\e[31;1mError: \e[0m$@" | |
| } | |
| FMT="%'9d KiB\t%s\n" | |
| SORT=( cat ) | |
| while [[ 0 < $# ]]; do | |
| case "$1" in | |
| -f) | |
| FMT="$2" | |
| shift | |
| ;; | |
| -n) SORT=( sort -k2 ) ;; | |
| -s) SORT=( sort -n ) ;; | |
| -h|--help) | |
| usage | |
| exit 0 | |
| ;; | |
| *) | |
| error "unknown_option: $1" | |
| exit 1 | |
| ;; | |
| esac | |
| shift | |
| done | |
| dpkg-query -Wf='${Installed-Size}\t${Package}\n' \ | |
| | "${SORT[@]}" \ | |
| | xargs printf "$FMT" | |