Как найти дубликаты в столбце?awk + Как найти дубликаты в столбце?
$ head countries_lat_long_int_code3.csv | cat -n
1 country,latitude,longitude,name,code
2 AD,42.546245,1.601554,Andorra,376
3 AE,23.424076,53.847818,United Arab Emirates,971
4 AF,33.93911,67.709953,Afghanistan,93
5 AG,17.060816,-61.796428,Antigua and Barbuda,1
6 AI,18.220554,-63.068615,Anguilla,1
7 AL,41.153332,20.168331,Albania,355
8 AM,40.069099,45.038189,Armenia,374
9 AN,12.226079,-69.060087,Netherlands Antilles,599
10 AO,-11.202692,17.873887,Angola,244
Например, это имеет дубликаты в 5-й колонке.
5 AG,17.060816,-61.796428,Antigua and Barbuda,1
6 AI,18.220554,-63.068615,Anguilla,1
Как просмотреть все остальное в этом файле?
Я знаю, что могу это сделать:
awk -F, 'NR>1{print $5}' countries_lat_long_int_code3.csv | sort
И я могу глазное яблоко и посмотреть, если есть какие-либо дубликаты, но есть лучший способ?
Или я могу это сделать: Узнайте, как, возможно, есть полностью
$ awk -F, 'NR>1{print $5}' countries_lat_long_int_code3.csv | sort | wc -l
210
Узнайте, сколько уникальных значений есть
$ awk -F, 'NR>1{print $5}' countries_lat_long_int_code3.csv | sort | uniq | wc -l
183
Поэтому существует не более 27 (210-183) дубликатов.
EDIT1
Мой желаемый результат будет что-то, как следует, в основном все столбцы, но только с указанием строки, которые являются дубликатами:
5 AG,17.060816,-61.796428,Antigua and Barbuda,1
6 AI,18.220554,-63.068615,Anguilla,1
Что относительно 'awk -F, 'NR> 1 {print $ 5}' countries_lat_long_int_code3.csv | сортировать | uniq -c | grep -v '^ * 1 *' '? Taht сгруппирует все повторяющиеся строки с помощью uniq -c и удалит все те, которые появляются один раз. –
Каков ваш желаемый результат. Количество дубликатов кодов, дубликатов записей, уникальных кодов? – karakfa
Вы только заботитесь о 5-м поле или о других? – HuStmpHrrr