LoginSignup
0
1

More than 5 years have passed since last update.

awk or grep > 13文字目が0となる行を取得する(2010年代向け) > awk '($1 ~ /201.....,...0,/)' infile.csv

Last updated at Posted at 2018-03-22
動作環境
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
  • カンマは残す

どうするか?

参考

情報感謝です。

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でこういう時はどうする?

情報感謝です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1