[英]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.