Выбор уникальных значений в определенном столбце

И он только что разрядился. Самое очевидное, что я не пробовал!

-2
13.10.2021, 07:31
1 ответ

Чтобы извлечь первое поле, разделенное табуляцией -, из файла с помощью awk, обязательно установите разделитель полей на символ табуляции. Как показано ниже, вы делаете это, передавая параметру -аргумент \tдля параметра -F.

awk -F '\t' '{ print $1 }' file

Также было бы относительно легко использовать cutздесь, так как символ табуляции является его разделителем по умолчанию, и вам не нужно выполнять какую-либо другую причудливую обработку:

cut -f 1 file

Пропустите это через sort | uniq, чтобы получить уникальные строки, или через sort -u, если хотите меньше печатать.


Вы сталкиваетесь с проблемой, что awkпо умолчанию используются любые пробелы(наборы табуляции или пробелов )в качестве разделителя, а ваше первое поле содержит пробелы, из-за чего утилита неправильно интерпретирует первое слово в качестве первого поля.

1
13.10.2021, 08:56

Теги

Похожие вопросы