Как удалить повторяющиеся строки в файле...AWK, SED, UNIQ не работает на моем файле

Я нахожу много способов сделать это, AWK, SED, UNIQ, но никто из них не работает над моим файлом.

Я хочу удалить дубликаты строк. Вот пример части моего файла:

KTBX
KFSO
KCLK
KTBX
KFSO
KCLK
PAJZ
PAJZ

ПРИМЕЧАНИЕ: мне пришлось вручную добавлять перевод строки, когда я вырезал и вставил из файла... по какой-то причине он помещал все переменные в одну строку. Заставляет меня думать, что мой текстовый файл с 44 000 строк на самом деле имеет только 1 строку? Есть ли способ изменить его, чтобы я мог удалить дубликаты?

2 ответа

Вы можете увидеть все непечатные символы с помощью этой команды:

od -c oldfile

Если все ваши записи находятся в одной строке, вы можете использовать sed, чтобы заменить пробел (пробел, табуляция, новая строка) переводом строки:

sed -e 's/\s\+/\n/g' oldfile > oldfile.1

Если у вас есть несколько строк, это awk one-liner:

awk '!x[$0]++' oldfile.1 > newfile

мой файл:

KTBX
KFSO
KCLK
PAJZ

Perl One-Liner:

файл perl -nle 'кроме ($hash{$_}++){print $_}'

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