ファイル'main.csv'から読み取り、出力を次のように出力する必要があります。
Set 4,1095,Set 1 or 4
Set 2,18277,Set 2 or 3
Set 1 or 4,Set 4,944
Set 2,1373,Set 2 or 3
Set 4,83,Set 1 or 4
Set 2,14356,Set 2 or 3
Set 2,14800,Set 2 or 3
私はそれぞれの出力で以下を試しました:
awk 'BEGIN {FS=","}{OFS=","}{print $12,$15}' main.csv
Set 4,1095
Set 2,18277
Set 4,944
Set 2,1373
Set 4,83
awk 'BEGIN {FS=","}{OFS=","}{if($12 == "Set 1" || $12 == "Set 4"){print "Set 1 or 4",$12,$15}else{print "Set 2 or 3",$12,$15}}' main.csv
Set 1 or 4,Set 4,1095
Set 2 or 3,Set 2,18277
Set 1 or 4,Set 4,944
Set 2 or 3,Set 2,1373
Set 1 or 4,Set 4,83
Set 2 or 3,Set 2,14356
Set 2 or 3,Set 2,14800
awk 'BEGIN {FS=","}{OFS=","}{if($12 == "Set 1" || $12 == "Set 4"){print $12,$15,"Set 1 or 4"}else{print $12,$15,"Set 2 or 3"}}' main.csv
,Set 1 or 4
,Set 2 or 3
,Set 1 or 4
,Set 2 or 3
,Set 1 or 4
,Set 2 or 3
,Set 2 or 3
最初の2つの「awk」は正常に実行されます。次に3つ目の「awk」は正常に実行されますか?
main.csvには、1行に15個のカンマ区切りの値があり、12番目の値は次のいずれかになります。
Set 1
Set 2
Set 3
Set 4
PS:Solaris10でbashを使用しています
私はまだ「awk」の問題に取り組んでいます。以下は私が気付いたものです...なぜそれが起こっているのかわかりません(Solaris10とRHEL5の両方でこれが発生しています)
awk -F, '{print "Var13->"$13,"\t","Var12->"$12,"\t","Var15 ->"$15}' < main.csv
Var13->0 Var12->Set 4 Var15 ->1095
Var13->1631 Var12->Set 2 Var15 ->18277
Var13->0 Var12->Set 4 Var15 ->944
Var13->2832 Var12->Set 2 Var15 ->1373
Var13->0 Var12->Set 4 Var15 ->83
awk -F, '{print "Var13 & Var15->"$13,"\t","Var12->"$12,"\t","Var15 ->"$15}' < main.csv
Var13 & Var15->0 Var12->Set 4 Var15 ->1095
Var13 & Var15->1631 Var12->Set 2 Var15 ->18277
Var13 & Var15->0 Var12->Set 4 Var15 ->944
Var13 & Var15->2832 Var12->Set 2 Var15 ->1373
Var13 & Var15->0 Var12->Set 4 Var15 ->83
awk -F, '{print "Var13 & Var15->"$13,$15"\t","Var12->"$12,"\t","Var15 ->"$15}' < main.csv
or
awk -F, '{print "Var13 & Var15->"$13,$15,"\t","Var12->"$12,"\t","Var15 ->"$15}' < main.csv
or
awk -F, '{print "Var13 & Var15->"$13,"\t",$15,"\t","Var12->"$12,"\t","Var15 ->"$15}' < main.csv
ar13 & Var12->Set 4 Var15 ->1095
ar13 & Var12->Set 2 27 Var15 ->18277
ar13 & Var12->Set 4 Var15 ->944
ar13 & Var12->Set 2 73 Var15 ->1373
ar13 & Var12->Set 4 Var15 ->83
ar13 & Var12->Set 2 56 Var15 ->14356
ご覧のとおり、最後の3回の実行で、「Var13」出力からの文字が使い果たされ、ジャンク情報が追加されました。