動作環境
Ubuntu 16.04.3 LTS desktop amd64
tmux 2.1-3build1
Python 2.7.12
Python 3.5.2
awk v1.2
仕様
以下のファイルがあるとする。
infile
20160801,0040,A
20160801,0045,0040,
20160801,0050,C
20160801,0055,D
20160801,0000,E
20160801,0006,D
- 2010年代のデータ
- 13文字目が0となるデータを取得したい
- 3行目を例にとると、
0050
の最後の0
- 3行目を例にとると、
- カンマは残す
どうするか?
参考
情報感謝です。
awk版
$ awk '($1 ~ /,...0,/)' infile.csv
20160801,0040,A
20160801,0045,0040,
20160801,0050,C
20160801,0000,E
余分な行も表示された。
以下の場合、2010年代のデータに限っては抽出できそう。
(** 2020年代のデータ抽出には対応しない**)
awk '($1 ~ /^201.....,...0,/)' infile.csv
20160801,0040,A
20160801,0050,C
20160801,0000,E
grep版
$ cat infile.csv | grep '^201.....,...0,'
20160801,0040,A
20160801,0050,C
20160801,0000,E
参考: grepでこういう時はどうする?
情報感謝です。