Нужна оперативная помощь по использованию AWK / sort / uniq для удаления строк с одинаковыми значениями в первом столбце из простого текстового файла - PullRequest
2 голосов
/ 11 ноября 2010

У меня есть набор текстовых файлов со следующим содержимым в столбце 1 и столбце 2 (через пробел):

адрес0 данных0

адрес1 данных1

.

.

.

addressN dataN

Все значения данных являются уникальными (случайными), но некоторые значения адреса повторяются.Как использовать AWK / sort / uniq для удаления строк с уже заданными адресами?

По сути, в текстовом файле не должно быть дублирующихся адресов, независимо от того, какие данные связаны.

Ответы [ 3 ]

1 голос
/ 11 ноября 2010
awk '
    $1 in seen {next}
    {print; seen[$1] = 1}
' file ...
0 голосов
/ 11 ноября 2010
sort -k1 -u your_file > outputfile

Большинство команд сортировки Unix поддерживают опцию -u, которая сохраняет только первую из двух строк, которые сравниваются на всех клавишах.

0 голосов
/ 11 ноября 2010

sort -k1 your_file | awk '{ if ($1 != last_address_seen) {print $0; last_address_seen=$1}}'

...