ファイル内のオブジェクトの一致数を取得する

ファイル内のオブジェクトの一致数を取得する

次の項目を含む大容量ファイルがあります。

entry-id: 1
sn: John
cn: Smith
empType: A
ADID: 123456

entry-id: 2
sn: James
cn: Smith
empType: B
ADID: 123456

entry-id: 3
sn: Jobu
cn: Smith
empType: A
ADID: 123456

entry-id: 4
sn: Jobu
cn: Smith
empType: A
ADID: 

各項目は改行文字で区切られます。 empType Aを使用して項目数を計算し、ADIDの後に値(合計2つ)が必要です。私はawk、grep、egrepを試してみましたが、それでも運はありません。どんなアイデアがありますか?

ベストアンサー1

Awk解決策:

awk '/empType: /{ f=($2=="A"? 1:0) }f && /ADID: [0-9]+/{ c++ }END{ print c }' file
  • f-empType: A部分処理を示すフラグ
  • cempType: AADID- パディングキーを利用した入場回数

出力:

2

おすすめ記事