Фильтрация словаря в bash - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь отфильтровать и выполнить итерацию словаря с выражениями-заглушки.

Я пробовал в 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

, но ключ пуст.

1 Ответ

1 голос
/ 27 января 2020

Как отметил Чарльз в своем комментарии, лучше всего перебирать все ключи и выбирать соответствующие ключи для обработки.

for key in "${!dict[@]}"; do
    case $key in
    ( *-foo )
        : # do something with the key
    esac
done
...