У меня есть файл 400 мегабайт. Файл представляет собой список слов, каждое слово в одной строке. Конец строк представляет собой смесь cr/lf и lf. Некоторые слова являются Unicode.
Я бы предпочел ответы для Linux или Windows, пожалуйста. Я счастлив установить программное обеспечение, но я бы предпочел открытый исходный код.
Мне нужно удалить все слова длиной менее 8 символов. Затем мне нужно дублировать список. (Сортировка списка - это хорошо, но не нужно, если это не часть процесса.) Меня не волнуют слова Unicode - они могут остаться или уйти. Удалять их в порядке.
Чтобы удалить все слова длиной не более 7 символов, я использую awk:
awk "length($0) > 7" wordlist.txt > mynewwordlist.txt
(Это Windows, извините за "вместо")
Затем я пытаюсь использовать сортировку, потому что затем я могу снова использовать awk для дедупликации строк. Сортировать не понравился список слов. Я думаю (но я не уверен), что юникод сломал его.
Итак, как мне обмануть список слов? Или как мне отсортировать список слов, чтобы я мог использовать awk для дедупликации?