Linuxで配列に値を格納する方法

Linuxで配列に値を格納する方法

配列に値を保存できません。以下はファイルデータです。

123|23.23|2.34|3.45|2019-20-1

配列の2番目、3番目、4番目の値が必要です。後で3つのパラメータや他のフィールドの組み合わせの代わりに4つのパラメータを選択できるように、コードは一般的である必要があります。

array ={23.33 2.34 3.45 2019-20-1}

作業コードの一部:

declare -a alpha=()

alpha=($(awk '{n = split($0, t, "|")
for(i = 0; ++i <= n;) print t[i]}' <<<'$2|$3|$4'))
echo "$alpha[@]"

入力を次のように渡します。'$2|$3|$4'

以下のような配列出力が必要です。

alpha={$2 $3 $4}

印刷するときは、echo "${alpha[@]}"すべての値を印刷する必要があります。

出力: $2 $3 $4

*注:この値を追加のコードのループとして使用して別の値を取得できるように、出力には2つの値の間にスペースが必要です。

ベストアンサー1

bashreadコマンドはフィールドを配列に格納できます。

while IFS='|' read -r -a fields; do
    # do stuff with the elements of "${fields[@]}"
done < file

おすすめ記事