Как удалить повторяющиеся строки в файле...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 $_}'