このようなcsvファイルがあります。
aaa|c1|bbb|t1
bbb|c1,c2|nnn|t1,t2
パイプはセパレータです。列2と列4を含む文字列を生成したいと思います。そして、2つの列値にプレフィックスを追加する必要があります。
列 2 =a
プレフィックスです。列 4 =b
プレフィックスです。
予想出力:
this is final string a.c1=b.t1
this is final string a.c1,a.c2=-b.t1,b,t2
私のサンプルスクリプト(完了):
while read r_line
do
c2 = $(echo $r_line|awk -F'|' '{print $2}')
c4 = $(echo $r_file |awk -F'|' '{print $4}')
out=$("this is final string a.$c2=b.$c4")
done < csv file
ここで、c2 または t2 にコンマ区切りの値がある場合、これらの 2 つの値にプレフィックスを適用する必要があります。
ベストアンサー1
bash
csvファイルを配列に読み込み、最初にパラメータ置換を実行して2番目の4番目のフィールドを出力します。
while IFS='|' read -ra a;do
echo This is the final string: \
"a.${a[1]//,/,a.}=b.${a[3]//,/,b.}"
done < csvfile