bash:プロセス置換でループに変数を渡す方法

bash:プロセス置換でループに変数を渡す方法

プロセス置換からそのプロセス置換のループに変数値を渡すには?

ifcsvファイルを連想配列として読み込んでいますが、各行を読み取るときに配列の特定の要素が空でないことをテストし、その要素に対して操作を実行するループを持っていると思います。

IFS=","
$csvfile="path/to/file.csv"
declare -A arr1  
declare -A arr2  
declare -A arr3 

while read -r -a linedata
do
    arr1["${linedata[1]}"]="${linedata[10]}"
    arr3["${linedata[1]}"]="${linedata[0]}"

    echo repeat -"${linedata[2]}"-

    if [[ -n "${linedata[2]}" ]] && [[ ! "${linedata[2]}" == "" ]] ; then
        arr2["${linedata[2]}"]="${linedata[10]}"
        arr3["${linedata[2]}"]="${linedata[0]}"
    else
        echo skipped for "${linedata[2]}"
    fi
done < $csvfile

ブロックが以前に配列の値をecho正しく印刷している間は、配列の値が条件に渡されていないようです。 (配列要素は一致する必要がありますが、条件は満たされません。)ブロックが実行された後、値は常に空です。iflinedataifelse

これを試しましたが、< <($csvfile)権限が拒否されたというエラーが発生しました。

事前にありがとう

ベストアンサー1

おすすめ記事