配列に値を保存できません。以下はファイルデータです。
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