Найти дубликат записи в csv с помощью сценария оболочки (Ubuntu) - PullRequest
0 голосов
/ 19 ноября 2018

у меня ниже csv

name,mobile
name1,123456
name2,98765
name1,123456
name3,98765
name1,123456
name4,344545443

Если две записи имеют мобильную связь, эта запись будет считаться дубликатом. Но при печати дубликата записи первая запись должна игнорироваться

Так что мой вывод должен быть таким

name,mobile
name1,123456
name1,123456
name2,98765

Таким образом, здесь 123456 3 раза в моем файле, но я хочу напечатать его только два раза, для меня первое вхождение уникально, а все остальные вхождения дублируются.

Я пытался

awk -F, 'NR==FNR {++A[$2]; next} A[$2]>1'  file1.csv file1.csv

Это дает мне

name1,123456
name2,98765
name1,123456
name3,98765
name1,123456

это не игнорирует первое вхождение

Пожалуйста, помогите мне в этом

1 Ответ

0 голосов
/ 19 ноября 2018

Насколько я понимаю ваш вопрос, вы хотите вывести записи, в которых 2-е поле встречается по крайней мере дважды, но не вывести первый экземпляр.

awk -F, '++seen[$2] > 1' file

Учитывая ваши данные выборки, это печатает

name1,123456
name3,98765
name1,123456

Это строки 4,5,6 от входных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...