ls -1 | grep '\.gz$\|xz$\|ext4$' | tail -n +6 | xargs rm
Предостережения: В ваших файлах не должно быть пробелов/кавычек.
set -f; set ./*.[gx]z ./*.ext4; [ "$#" -gt 5] && shift 5; rm -f "$@"
Ниже приведены имена файлов любого типа:
td="`mktemp`" \
find . -maxdepth 1 -type f \( -name \*.[gx]z -o -name \*.ext4 \) -exec sh -c '
[ ! -s "$td" ] && [ "$#" -gt 5 ] && { shift 5; echo >> "$td"; }
rm -f "$@"
' x {} +
rm "$td"