Текст

Sort & Dedupe Lines

Сортировка строк текста по алфавиту, удаление дубликатов, пустых строк и лишних пробелов.

This tool sorts a list of lines alphabetically and removes duplicates and blank lines — a routine cleanup that's slow and error-prone to do by hand.

How to use it

Common uses

Things to keep in mind

Plain alphabetical sorting puts "file10" before "file2", since it compares strings character by character — natural sort is needed for the expected order with numbers.

Duplicate removal is case-sensitive by default — "Text" and "text" count as different lines unless the text is normalized to one case first.

Статья об этом инструменте: Сортировка и удаление дубликатов строк: зачем это нужно

Часто задаваемые вопросы

Чем отличается сортировка с учётом регистра от сортировки без учёта регистра?

При выключенной опции «Без учёта регистра» заглавные и строчные буквы сортируются отдельно по коду символа; включённая — сравнивает строки независимо от регистра, сближая «Apple» и «apple».

Как обрабатываются дубликаты, пустые строки и пробелы?

Две идентичные строки (согласно выбранной опции регистра) считаются дубликатами, и сохраняется только первая; «Обрезать пробелы» убирает пробелы в начале и конце перед сортировкой, а «Удалить пустые строки» устраняет строки без видимого символа.

Отправляются ли мои строки текста на сервер?

Нет, сортировка и дедупликация полностью происходят в вашем браузере на JavaScript — никакие данные никуда не передаются.

Почему "10" оказывается перед "9" при алфавитной сортировке?

Алфавитная (лексикографическая) сортировка сравнивает строки символ за символом как текст, а не как числа: "1" лексикографически меньше "9", поэтому "10" оказывается перед "9". Для числового порядка строки нужно сначала парсить как числа.

Можно ли сортировать по естественному порядку (natural sort)?

Естественная сортировка распознаёт последовательности цифр внутри строки как числа, а остальное сравнивает как текст — благодаря этому "file2.txt" оказывается перед "file10.txt", что удобно для названий файлов или версий с текстовым префиксом.

Статьи: Текст

Case Converter: зачем нужны разные стили написания

Почему в одном проекте переменные пишут camelCase, а файлы — kebab-case, и откуда взялись эти правила.

Text Diff: как алгоритмы находят разницу между текстами

Как diff-алгоритм находит минимальный набор изменений между двумя версиями текста.

Регулярные выражения: основной синтаксис и типичные паттерны

Как читать регулярное выражение и чем жадный поиск отличается от ленивого.

String Escape: почему один и тот же текст нужно экранировать по-разному

Почему один и тот же символ кавычки экранируется по-разному в JS-строке, JSON и shell-команде.

CRLF против LF: почему символы конца строки до сих пор важны

Почему файл, написанный в Windows, может показывать «изменён весь файл» в git на Linux.

Подсчёт символов и слов: почему это не всегда тривиально

Почему эмодзи или символы с диакритикой могут считаться как несколько символов сразу.

Lorem Ipsum: откуда взялся текст-заполнитель и зачем он нужен

Почему дизайнеры намеренно используют «бессмысленный» текст вместо реального контента в макетах.

Slugify: как превратить произвольный текст в URL-адрес

Как заголовок «Привет, Мир!» превращается в URL-совместимую строку вида privet-mir.

Markdown: почему простой текстовый синтаксис победил сложные редакторы

Почему разработчики выбирают писать документацию в Markdown, а не в форматированном текстовом редакторе.

Пробелы и невидимые символы: скрытая причина странных багов

Почему две на вид одинаковые строки могут не совпадать при сравнении из-за невидимого символа.

Text Reverse: почему «перевернуть текст» сложнее, чем кажется

Почему наивный реверс строки может превратить эмодзи в непригодные для показа байты.

Частотный анализ текста: зачем считать повторения слов

Как частота букв в зашифрованном тексте помогает взломать простейшие шифры подстановки.