#!/bin/bash IFS=$'\n' g=0 t=0 c=0 d=0 p=0 a=0 o=0 l=0 e=0 for pkg in $(LC_ALL=C pacman -Ss | grep '^[^ ]*/[^ ]* [0-9]*.* \[installed\]'); do r=$(echo $pkg | sed 's/\/.*//') n=$(echo $pkg | sed 's/.*\///; s/ [\[(].*//') case $r in "desktop") let d=$d+1; dp+=("$n");; "games") let g=$g+1; gp+=("$n");; "testing") let t=$t+1; tp+=("$n");; "core") let c=$c+1; cp+=("$n");; "platform") let p=$p+1; pp+=("$n");; "apps") let a=$a+1; ap+=("$n");; "lib32") let l=$a+1; lp+=("$n");; "extra") let e=$a+1; ep+=("$n");; *) let o=$o+1; op+=("$n");; esac done if [[ $1 == "-v" ]]; then printf "[core]\n" printf "%s\n" ${cp[@]-(None)} printf "\n[platform]\n" printf "%s\n" ${pp[@]-(None)} printf "\n[desktop]\n" printf "%s\n" ${dp[@]-(None)} printf "\n[apps]\n" printf "%s\n" ${ap[@]-(None)} printf "\n[games]\n" printf "%s\n" ${gp[@]-(None)} printf "\n[lib32]\n" printf "%s\n" ${lp[@]-(None)} printf "\n[extra]\n" printf "%s\n" ${ep[@]-(None)} printf "\n[testing]\n" printf "%s\n" ${tp[@]-(None)} printf "\nOther (staging,kde-unstable)\n" printf "%s\n\n" ${op[@]-(None)} fi printf "Summary\n" printf "[core]: $c\n" printf "[platform]: $p\n" printf "[desktop]: $d\n" printf "[apps]: $a\n" printf "[games]: $g\n" printf "[lib32]: $g\n" printf "[extra]: $g\n" printf "[testing]: $t\n" printf "Other (staging,kde-unstable): $o\n" IFS=' '