Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

AWKでも連続して変数を代入できる

AWKでも連続して変数を代入することができます。
同じ値を複数のフィールドに突っ込む場合に特に有効です。

実際のところ

1、2、最終のフィールドを"nil"としたい場合を考えます。
この場合、以下のように=で変数を結んであげるだけで連続して指定できます。

$ cat data.csv | awk -F"," '{$1 = $2 = $NF = "nil"; OFS=","; print substr($0,$N
F)}'
nil,nil,Takarazuka,"225,587","219,862",2.6,39.3,"5,740",nil
nil,nil,Atsugi,"224,426","222,403",0.91,36.2,"6,200",nil
nil,nil,Ageo,"223,882","220,232",1.66,17.6,"12,721",nil
nil,nil,Chōfu,"223,609","216,119",3.47,8.3,"26,941",nil
nil,nil,OtaŌta,"216,444","213,160",1.54,67.8,"3,192",nil
nil,nil,Tsukuba,"214,660","200,528",7.05,109.7,"1,957",nil
nil,nil,Isesaki,"207,199","202,447",2.35,53.8,"3,851",nil
nil,nil,Jōetsu,"203,869","208,082",-2.02,375.8,542,nil
nil,nil,Kumagaya,"203,192","204,675",-0.72,61.7,"3,293",nil
nil,nil,Numazu,"202,283","208,005",-2.75,72.2,"2,802",nil