macでcsvファイルの変換をしています。
入力csvファイルの数値xを読み取り、出力csvファイルのx番目に書き出したいです。
入力csvファイルの3項目めの数値を読み取りその数値の箇所に8項目めの数値を記入したいです。
入力csvファイル
2019/04/01,00:00,5,0122,F1,,,0,,,,,,,,, ←(3列目:5,8列目:0)
2019/04/01,00:01,4,0122,F1,,,0,,,,,,,,, ←(3列目:4,8列目:0)
2019/04/01,00:01,3,0122,F1,,,1,,,,,,,,, ←(3列目:3,8列目:1)
2019/04/01,00:02,2,0122,F1,,,1,,,,,,,,, ←(3列目:2,8列目:1)
期待する結果
3列目から出力先の列数を
8列目から出力数値を
取得したいです。
1,2列目の結合も行いたいです。
出力csvファイル
2019/04/01 00:00,,,,0.0,,,,,,,,,,, ←(5列目:0.0)
2019/04/01 00:01,,,0.0,,,,,,,,,,,, ←(4列目:0.0)
2019/04/01 00:01,,1.0,,,,,,,,,,,,, ←(3列目:1.0)
2019/04/01 00:02,1.0,,,,,,,,,,,,,, ←(2列目:1.0)
現状
1,2列目の結合は{print $1" "$2}こんな感じでできそうです。
出力ファイルの任意の場所に0.0や1.0を吐き出せていません。
どのようにすれば良いのか、教えていただきたいです。
AWKでなくても構いません。
現状のコード
cat ./51610004_20190401.csv | awk 'BEGIN {FS=",";OFS=","} {pos=$3;dat=$8;NF=2;NF=8;$pos=dat;$3="";$4="";$5="";$6="";$7="";$8="";print $0}' > ./output.csv
回答1件
あなたの回答
tips
プレビュー