回答編集履歴

1

コメントでの指摘を受け、最初に提示したコマンドでは正しく動作しない環境において、対処をしたコマンドを追記。

2019/12/18 03:09

投稿

hidezzz
hidezzz

スコア1248

test CHANGED
@@ -19,3 +19,19 @@
19
19
  cat ./51610004_20190401.csv | awk 'BEGIN {FS=",";OFS=","} {pos=$3;dat=$8;NF=2;NF=9;$pos=dat;print $0}' > ./output.csv
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ ※以下コメントでのご指摘を受けて追記
26
+
27
+
28
+
29
+ 「NF=2」とした場合にフィールドのクリアをしないawk実装があるようです。
30
+
31
+ 代わりにforループでのクリアに置き換えると次のようになります。
32
+
33
+ ```
34
+
35
+ cat ./51610004_20190401.csv | awk 'BEGIN {FS=",";OFS=","} {pos=$3;dat=$8;NF=9;for(i=3;i<=9;++i){$i=""};$pos=dat;print $0}' > ./output.csv
36
+
37
+ ```