Linux: удалить дубликаты строки

У меня есть файл TXT. Я хотел бы удалить все повторяющиеся строки.

Я пробовал это, но не сработало

sort -ur file.txt

или же

uniq -D -f 2 file.txt

file.txt

34.78.54.21 websrv1 nameweb
34.78.54.21 nameweb

Мне просто нужна одна строка

1 ответ

Из вашего ввода я предполагаю, что вы ссылаетесь на первое поле (34.78.54.21) как дубликат. Если вы просто хотите сохранить первое вхождение каждого числа, то это работает для вас:

awk '!a[$1]++' file.txt

Выход:

34.78.54.21 websrv1 nameweb

Эта команда ищет, если $1 не является ключом в массиве. Если это не так, то он будет добавлен в массив и произойдет печать по умолчанию. Для следующей строки $1 находится в массиве, и все это будет иметь значение false, а не print.

Другие вопросы по тегам