言語化の練習

プログラマの日記です。プログラミング・読書感想・雑談が中心です。楽しく働くためにどうしたらよいか日々試行錯誤しています。

awkコマンドでデータがうまく取れないときに疑うべきこと

awkコマンドでデータがうまくとれなくて、少しハマりました。

インプットファイル

test.csv

2018/4/1 00:00,user_A,OK
2018/4/1 01:00,user_B,OK
2018/4/1 02:00,user_C,
2018/4/2 00:00,user_D,OK
2018/4/2 01:00,user_E,
2018/4/2 02:00,user_F,

上記csvファイルから、3カラム目に値があるユーザ(2カラム目)を抽出したい。

コマンドと期待する結果

$ cat test.csv | awk -F, '$3!=null {print $2}'

user_A
user_B
user_D

↑のような感じになると思うが、なぜかインプットファイルの全件が出力される。

原因

改行コードがCRLFでした。LFに変換したら意図する結果が取れました。