Я пытаюсь отфильтровать и выполнить итерацию словаря с выражениями-заглушки.
Я пробовал в bash 4:
#!/usr/bin/env bash declare -A dict dict["key-foo"]="foo-value" dict["key-bar"]="bar-value" for key in "${!dict[*-foo]}"; do echo "${key}" done
, но ключ пуст.
Как отметил Чарльз в своем комментарии, лучше всего перебирать все ключи и выбирать соответствующие ключи для обработки.
for key in "${!dict[@]}"; do case $key in ( *-foo ) : # do something with the key esac done