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.