Вывод grep не зависит от порядка шаблонов в файле, если вы просите grep выводить целые строки, а не идентифицировать часть строки, которая соответствует (, например. с опцией -o
или --color
).
Если только в grep нет ошибки. Как указал Sundeep в комментариях, в grep на FreeBSD/macOS есть ошибка, из-за которой он пропускает шаблон, когда другой шаблон, находящийся ранее в файле, является его префиксом.
awk
столбцов имеют индекс 1 -. $0
— полная строка.
Кроме того, вы несколько раз использовали =
вместо ==
.
Вам нужно:
awk -F "," '$1==2002 && $3=="Female" && $4=="18--20" && $8=="CO"{count++};END{print count;}' newData.csv