IFSを使用してテキストファイルから複数の配列を作成するには?

IFSを使用してテキストファイルから複数の配列を作成するには?

テキストファイルがあるとしましょう。filename.txt

cat filename.txt
abc#123
def#456

2つの配列を作成する方法でIFSを使用したいと思います。たとえば、次のようになります。

source=(abc def)
dest=(123 456)

2つの別々の配列を作成するロジックは何ですか?

答え1

while入力ファイルを/readループにリダイレクトし、IFS値をに設定して#行の内容を分割できます。すべてbash/kshまたはzshシェルで動作する必要があります。

while IFS=# read -r s d; do
    source+=( "$s" )        
      dest+=( "$d" )
done < filename.txt

関連情報