On 2019-08-14, Christian Weisgerber <[email protected]> wrote:

> clean_old() {
>         local _cver
>
>         rm -rf /mnt/usr/lib/gcc-lib/!(*$VNAME)
>         _cver=$(cd /mnt/usr/lib/clang 2>/dev/null && ls -r | sed -e 1q) &&
>                 rm -rf /mnt/usr/lib/clang/!($_cver)
>         rm -rf /mnt/var/syspatch/*
> }

Use shell tools instead of fiddling with ls|sed:

clean_old() {
        local _cver

        rm -rf /mnt/usr/lib/gcc-lib/!(*$VNAME)
        set -A _cver -- /mnt/usr/lib/clang/* &&
                unset _cver[${#_cver[@]}-1] &&
                rm -rf "${_cver[@]}"
        rm -rf /mnt/var/syspatch/*
}

This sets an array to the expansion of the glob, which is an
alphabetically sorted list, drops the last element, and rm(1)s
the rest.

-- 
Christian "naddy" Weisgerber                          [email protected]

Reply via email to