簡體   English   中英

如何在Linux中使用awk命令獲取與特定值匹配的列的記錄計數

[英]How to get the record count of columns matching with particular value using awk command in linux

我必須顯示輸入的csv文件中與“ CD”匹配的列的記錄數。 Value CD出現在我的文件input.csv的第二欄中。

我正在嘗試使用下面的命令,但是它沒有按預期工作。

awk -F',' '$2=/CD/ { count++ } END { print count }' input.csv

我的輸入數據:

1234,CD,xyz,abcd
01235,AB,kasdjk,aaaaa,fff
898,CD,laklksas,lsjdjdj,lkjsaj
111,CD,lkakskaks,jjjjjj
3455,00,ksajkjsa,kkkkk
59995,99,asllsal,99898,00,kkk,99
99,00,lkjjjsa,00,99,hhhh

預期產量:

3 if i check the count of "CD"
2 if i check the count of "00"

與正則表達式匹配的運算符是~ ,而不是=

awk -F',' '$2 ~ /CD/ { count++ } END { print count }' input.csv

如果要進行完全匹配而不是正則表達式,請使用==和一個字符串:

awk -F',' '$2 == "CD" { count++ } END { print count }' input.csv

=用於分配,不用於比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM