#!/bin/bash
-IFS=$'\n' g=0 t=0 c=0 d=0 p=0 a=0 o=0
+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");;
- *) let o=$o+1; op+=("$n");;
+ "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
-printf "[core]\n${cp[@]-(None)\n}\n\n[platform]\n${pp[@]-(None)\n}\n\n[desktop]\n${dp[@]-(None)\n}\n\n[apps]\n${ap[@]-(None)\n}\n\n[games]\n${gp[@]-(None)\n}\n\n[testing]\n${tp[@]-(None)\n}\n\nOther (lib32, etc)\n${op[@]-(None)\n}"
-printf "\nSummary\n[core]: $c\n[platform]: $p\n[desktop]: $d\n[apps]: $a\n[games]: $g\n[testing]: $t\nOther (lib32, etc): $o\n"
+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=' '