Я надеюсь, что одна или две строки кода для сценария bash найдут и напечатают повторяющиеся элементы в столбце в CSV-файле 2.5G, за исключением элемента, который, как я знаю, обычно повторяется.
Файл данных имеет заголовок, но он не дублируется, поэтому меня не беспокоит код, который учитывает наличие заголовка.
Вот иллюстрация того, как выглядят данныекак:
header,cat,Everquest,mermaid
1f,2r,7g,8c
xc,7f,66,rp
Kf,87,gH,||
hy,7f,&&,--
rr,2r,89,))
v6,2r,^&,!c
92,@r,hd,m
2r,2r,2r,2r
7f,7f,7f,7f
9,10,11,12
7f,2r,7f,7f
76,@r,88,u|
Я ищу вывод:
7f
@r
, так как оба они дублируются во втором столбце.Как вы можете видеть, 2r также дублируется, но обычно дублируется, и я знаю это, поэтому я просто хочу проигнорировать это.
Для ясности, я не могу знать значения дубликатов, кроме общих, которые в моих реальных файлах данных на самом деле являются словом "нет".Это '2r' выше.
Я читаю здесь , что я могу сделать что-то вроде
awk -F, ' ++A[$2] > 1 { print $2; exit 1 } ' input.file
Однако я не могу понять, как пропустить '2r' и что++ значит.
Я прочитал руководство по awk, но, боюсь, я нахожу его немного запутанным в отношении вопроса, который я задаю.
Кроме того,
uniq -d
выглядит многообещающе, основываясь на нескольких других вопросах и ответах, но я все еще не уверен, как пропустить значение, которое я хочу игнорировать.
Заранее благодарю за помощь.