Você não está usando o glob *.xz
para corresponder aos arquivos no caminho, quando você faz isso, você nem precisa do comando find
. Apenas faça
ROOTPATH="/home/user/path"
for file in "$ROOTPATH"/*.xz; do
[ -f "$file" ] || continue
printf "%s\n" "$file"
done
O *.xz
é um padrão glob padrão para corresponder a todos os arquivos com a extensão .xz
no caminho especificado. O [ -f "$file" ] || continue
é apenas uma verificação de sanidade necessária para manipular a saída do loop quando o glob retorna um resultado vazio, ou seja, quando nenhum arquivo é encontrado.
Se por acaso você também estiver procurando por arquivos sob os subdiretórios, ative a opção de globbing de shell estendido globstar
para ativar a correspondência recursiva nos nomes de arquivos e faça
shopt -s globstar nullglob
for file in "$ROOTPATH"/**/*.xz; do
printf "%s\n" "$file"
done