Isso é bastante simples com versões recentes de bash
usando globbing e arrays , que é o que suponho que você entende por tabelas.
Primeiro, crie alguns arquivos de teste:
path=/some/where
touch $path/{a,b,c}_suffix.txt
Este é um exemplo que coloca todos os arquivos terminados em _suffix.txt
na matriz files
:
files=("$path"/*_suffix.txt)
Para fazer uma iteração sobre eles, você pode fazer algo assim:
for file in "${files[@]}"; do
echo "$file"
done
Ou:
for i in ${!files[@]}; do
echo "${files[i]}"
done
Note que nomes de arquivos com espaços e novas linhas neles causarão problemas com essa abordagem. Nesse caso você é melhor com um find
e -print0
loop, veja esta resposta para um exemplo e < href="http://mywiki.wooledge.org/BashFAQ/001"> este artigo para detalhes.
Editar
Como observado por muru , o problema de espaço em branco pode não ser tão problemático quanto costumava ser, YMMV.