используя команды linux, у меня есть CSV-файл в кавычках, который я отсортировал по первому столбцу, а затем по второму столбцу, теперь я хочу удалить дубликаты, где они совпадают в первом и втором столбце, как это можно сделать? uniq кажется недостаточным, или нет?
сортировка и уникальные CSV-файлы
Ответы (2)
Вы можете перевернуть (обновить) файл, затем uniq, игнорируя первые поля N-2 (все, кроме первых двух столбцов), затем снова обработать.
rev | uniq -f N-2 -u | rev
person
mjvotaw
schedule
13.06.2011
Ладно, теперь я лучше понимаю, что тебе нужно. Как насчет использования awk?
http://www.unix.com/shell-programming-scripting/62574-finding-duplicates-columns-removing-lines.html
person
Swift
schedule
13.06.2011
Может возникнуть проблема, если столбцов более 2.
- person pavium; 13.06.2011
Я уже отсортировал файл, и uniq не сработал бы с моим проблемным ограничением, я считаю строки одинаковыми, только если их первые два столбца совпадают.
- person user775187; 13.06.2011
Да, но
uniq
будет рассматривать всю строку, если только вы не скажете ему учитывать только первые два поля. Что-то вроде @mjvotaw предложил
- person pavium; 13.06.2011