Я хочу использовать awk для анализа текстового файла, в котором есть поля, разделенные запятыми. Мне нужно узнать, сколько раз каждое состояние встречается в файле, и найти состояние с наиболее частым возникновением. Мне также нужно выяснить, встречается ли фамилия более одного раза. Второе поле в файле соответствует фамилии, но поля 5 или 6 могут иметь названия состояний. Также первая строка текста используется для хранения имен полей, поэтому их следует пропускать. Вот часть файла данных:
First Name,Last Name,Address,City,State,Zip
Rose,Stark,9283 Vivamus Avenue,Toledo,OH,13856
Remedios,Barber,Ap #331-7101 Elit, St.,Rock Springs,WY,88149
Во второй строке состояние находится в 5-м поле, а в третьей строке - в 6-м поле. Вот мой код: ...
BEGIN { FS=","
}
{states1 [$5] += 1}
{states2 [$6] += 1}
{names [$2] += 1}
END {
for (state in states1)
print state, states1 [state]
print "-----"
for (state in states2)
print state, states2 [state]
print "-----"
for (name in names)
print name, names [name]
}
...
Как мне отфильтровать результаты, отличные от имен состояний в 5-м и 6-м полях, и как я могу распечатать состояние с помощью наиболее частое появление и фамилия, встречающиеся более одного раза?
Пример вывода, который я хочу получить, выглядит примерно так:
«Состояние с наиболее частым появлением - VA. Это происходит 8 раз.
Фамилия «Коричневый» встречается более одного раза. Встречается 3 раза. »
Заранее благодарю за вашу помощь.