grep
не требуется, поскольку оболочка уже выполняет расширение имени файла:
for file in $(ls [A-Z]??????)
do
echo $file
done
Обратите внимание, что имена файлов со встроенными пробелами и т.п. могут нарушить этот цикл.
ls
можно избежатьтакже устраняет предыдущую проблему, но затем необходимо добавить тест, чтобы предотвратить обработку несуществующего файла, если файл не соответствует шаблону:
for file in [A-Z]??????
do
[[ -f "$file" ]] && echo $file
done