Как удалить дубликаты строк в файле Linux
У меня есть текстовый файл с точными копиями строк. Мне нужно, удалить все эти дубликаты строк и сохранить порядок оставшихся на Linux или Unix-подобной системе. Как удалить повторяющиеся строки из текстового файла?
Вы можете использовать Perl или AWK или Python, чтобы удалить все повторяющиеся строки из текстового файла на Linux, OS X и Unix-подобных системах.
Например есть файл
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
cat text.txt Это тест Привет, Пользователь! Это тест это линия это еще одна линия позвоните 911 это против, что что против этого Как позвонить 911 что и Привет, Пользователь! это против, что позвоните 911 |
Как удалить повторяющиеся строки внутри текстового файла с использованием AWK
Синтаксис выглядит следующим образом,сохраняет порядок текстового файла:
1 2 3 |
awk '!seen[$0]++' input > output awk '!seen[$0]++' text.txt > output.txt more output.txt |
результат
1 2 3 4 5 6 7 8 9 |
Это тест Привет, Пользователь! это линия это еще одна линия позвоните 911 это против, что что против этого Как позвонить 911 что и |
Как удалить дубликаты строк из текстового файла в Perl?
1 2 3 |
perl -lne '$seen{$_}++ and next or print;' input > output perl -lne '$seen{$_}++ and next or print;' text.txt > output.txt more output.txt |
Результат такой же как в предыдущем примере