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" | |