计算某些列等于特定值的行数

计算某些列等于特定值的行数

我想计算某些列等于特定值的行数。以下是输入文件的一部分:

在此输入图像描述

第一行是标题。我想计算第 1 列等于 2002、第 3 列等于 Female、第 4 列等于 18--20、第 8 列等于 CO 的行数。

我尝试了以下命令:

awk  -F "," '$1=="2002" && $3="Female"&& $4="18--20" && $8 ="CO"{count++};END{print count;}' newData.csv

但这没有用。

我将命令更新为上面,但它仍然不起作用。它打印出的数字是 1116,这是不正确的。这只是第 1 列等于 2002 的数字。我需要计算满足所有条件的行。

答案1

awk列的索引为 1。 $0是完整的线。

另外,你用过=几次==

你需要:

awk  -F "," '$1==2002 && $3=="Female" && $4=="18--20" && $8=="CO"{count++};END{print count;}' newData.csv 

相关内容