統一された形式のファイル名に基づいてデータを分類する方法について疑問に思っています。1_dog_yorkshire.sh
およびのようなファイル名1_cat_persian.sh
を使用すると、単純な正規表現で表すことができます。
[0-9]+_[a-z]+_[a-z]+.sh
以下に示すツリーのような構造を作りたい:
1 --- dog ---- yorkshire
| | \
| | -- golden retriever
| |
| -- cat ---- persian
| \
| -- siamese
|
2 --- spider ---- tarantula
頭に浮かぶ最初の解決策は、多次元連想配列です。ただし、多次元配列は bash ではサポートされていません。Bashでのハッシュされたテーブルの反復は問題になる可能性があるため、ハッシュテーブルも完璧なソリューションではありません。XML/JSON を Bash で使用することは、移植可能で bash で記述されていない限り不可能です。
理想的なシナリオでは、データのどの部分も反復可能である必要があります。たとえば、「2」の各エントリ、「1」の各犬、または「2」のスパイダーにあるタランチュラ リストの要素などです。
サブツリーをトラバースでき、リーフにリストを格納できる、Bash の多次元連想配列の適切な代替となる構造を構築するにはどうすればよいですか?