Как удалить повторяющиеся строки без сортировки и только с соответствующим n-м столбцом - PullRequest
0 голосов
/ 16 февраля 2019

Привет! Я пытаюсь удалить «дубликаты» строк из файла, но я хочу сохранить порядок файлов и не хочу сопоставлять всю строку, только второй столбец.

Пример

23 google.com 345 432 3
543 google.com d9 0ds aa
8 amazon.com 820 2 2
45 google.com 80a s0d e
32 yahoo.com wqq 33 234

Станет

23 google.com 345 432 3
8 amazon.com 820 2 2
32 yahoo.com wqq 33 234

Я знаю, как sort -u -o file, но это соответствует строке ввода, и это переупорядочивает файл.Я видел это awk '!seen[$0]++' file, которое позволит избежать сортировки, но оно по-прежнему соответствует всей строке.

Кто-нибудь знает, можно ли это сделать?

Спасибо, Крис

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Решение awk можно изменить, чтобы оно соответствовало только второму столбцу:

awk '!seen[$2]++' file 
0 голосов
/ 16 февраля 2019

Попробуйте просто сопоставить 2-й столбец:

awk '!seen[$2]++' 
...