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に変換したら意図する結果が取れました。