#!/bin/zsh # pacclean - print all but $KEEP newest cached package files setopt extendedglob KEEP=3 printl() { [[ -n $@ ]] && print -l $@ } allpkgs=(/var/cache/pacman/pkg/*.pkg.*) for pkg in ${(u)allpkgs%-*-*-*}; do printl ${${(On)allpkgs[(r)$pkg-[^-]#-[^-]#-[^-]#,(R)$pkg-[^-]#-[^-]#-[^-]#]}[KEEP,-1]} done