prefixes=("filename.could.start.with.this" "a.file.could.have.this.at.beginning")
# Turn the prefix array into a find expression (in array form)
matchlist=()
for prefix in "${prefixes[@]}"; do
matchlist+=("-o" "-name" "$prefix*")
done
matchlist=("${matchlist[@]:1}") # remove the extra "-o" from the beginning
# Search the current directory for plain files with names starting with one of the prefixes
find -x . "(" "${matchlist[@]}" ")" -type f
Se a sua lista de prefixos de nomes de arquivo não estava no formato de matriz, você teria que modificá-la apropriadamente, por exemplo,
prefixes="filename.could.start.with.this a.file.could.have.this.at.beginning"
...
for prefix in $prefixes; do
...
Além disso, isso não se comportará bem se for fornecida uma lista vazia de prefixos de nome de arquivo; Se essa for uma possibilidade, verifique primeiro essa condição.