Счетчик строк

Вставьте текст, исходный код, лог-файл или CSV, и счетчик вернет общее число строк, непустые строки, пустые строки, уникальные строки и дублирующиеся строки. Удобно, когда рекрутер спрашивает «сколько LOC в этом репозитории?», когда нужно узнать, сколько строк в CSV, не открывая его в Excel, или когда вы хотите проверить список слов на дубликаты перед тем, как скормить его скрипту.

Как подсчитать строки

  1. 1

    Вставьте содержимое

    До нескольких мегабайт текста: лог, исходный файл, markdown, список.

  2. 2

    Прочитайте разбивку

    Количество всех, непустых, пустых, уникальных и дублирующихся строк отображается сразу.

  3. 3

    Решите, что считать

    Комментарии, конечные переводы строк, пустые строки между разделами: ваш сценарий решает.

  4. 4

    Действуйте по числу

    Оцените размер импорта, удалите дубликаты, обрежьте или представьте число как доказательство.

Что на самом деле считается строкой

Разные инструменты дают разное «количество строк» для одного и того же файла, потому что делают разный выбор по трем пунктам.

Три неоднозначности

  1. Конечный перевод строки. Текстовые файлы POSIX заканчиваются на \n. Добавляет ли финальный перевод строки лишнюю пустую строку? wc -l считает переводы строк, поэтому файл с содержимым в одну строку плюс конечный перевод строки сообщает 1; файл с содержимым и без конечного перевода строки сообщает 0 (что неожиданно). Этот счетчик сообщает «строки содержимого», игнорируя финальную пустую строку после терминатора.

  2. Пустая строка против строки только из пробелов. Строка с пробелами или табуляциями, но без видимого символа, пустая она или нет? Счетчик трактует строки только из пробельных символов как пустые, что соответствует большинству редакторов.

  3. Однострочные файлы. Однострочный файл без конечного перевода строки, это все равно 1 строка.

Пояснение выходных значений счетчика

Метрика Определение
Всего строк Все строки, включая пустые, до последней непустой строки
Непустые Строки хотя бы с одним непробельным символом
Пустые Строки, которые пусты или содержат только пробельные символы
Уникальные Различные непустые строки, с учетом регистра
Дубликаты Непустые строки, встречающиеся более одного раза (число дубликатов)

Частые сценарии использования

  • Дедуп списка слов, вставьте список слов, посмотрите число дубликатов, затем прогоните через дедупликатор.
  • Подсчет строк CSV, вставьте тело файла; вычтите 1 на заголовок, чтобы получить строки данных.
  • Разбор логов, проверьте, что в ротированном логе ожидаемое число записей.
  • LOC исходного файла, быстрое «сколько строк в этом файле» без открытия IDE.
  • Гигиена списка email, посмотрите, сколько адресов дублируются, перед отправкой кампании.

LOC: это не продуктивность

Количество строк исходного кода, грубая мера. Плотный, хорошо структурированный модуль на 100 строк может быть труднее писать и поддерживать, чем разросшийся на 1000 строк. Используйте количество строк для оценки объема (вписывание в контекстное окно, разбивка вывода на страницы, сравнение размеров файлов), а не для оценки производительности.

Unicode и терминаторы строк

Счетчик нормализует \r\n, \r и \n к одному переводу строки перед подсчетом, поэтому окончания строк Windows, классического Mac и Unix дают один и тот же результат. Разделители строк Unicode (U+2028) и разделители абзацев (U+2029) также трактуются как разрывы.

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

wc -l считает символы перевода строки, поэтому файл с содержимым и без финального перевода строки сообщает на единицу меньше. Этот счетчик сообщает «количество строк содержимого», что совпадает с большинством строк состояния редакторов.

Да, строки, содержащие только пробелы или табуляции, считаются пустыми, а не непустыми. Это соответствует VS Code, Sublime и большинству рабочих процессов Git.

Да. «Hello» и «hello» считаются разными уникальными строками. Если вам нужен дедуп без учета регистра, сначала приведите ввод к нижнему регистру с помощью конвертера регистра.

Нет, счетчик читает ввод локально, и ничего не загружается и не логируется.

Сопутствующие инструменты

Генератор названий городов

Создавайте вымышленные названия городов, посёлков, деревень и столиц для миростроения, карт, игр, историй и тестовых данных с короткими заметками к каждому результату.

Символы стрелок для копирования

Копируйте популярные Unicode-стрелки одним щелчком: прямые, двойные, диагональные, крючковые, круговые и треугольные для документов, чатов и дизайна.

Символ «меньше или равно»

Копируйте знак ≤ и связанные математические символы сравнения. Включает Unicode, HTML-сущности и разметку LaTeX для электронных таблиц, научных работ и веб-страниц.

Преобразователь текста для людей с дислексией

Переформатируйте вставленный текст в короткие абзацы и строки примерно по 72 символа для более лёгкого чтения. Скопируйте результат в любой документ, письмо или редактор.

Генератор имен персонажей

Создавайте имена персонажей для романов, игр и ролевых игр. Выберите фэнтези, научную фантастику или современный стиль, задайте от 5 до 30 имен и получите готовые варианты сразу.

Генератор глитч-текста

Создавайте глитч-текст в стиле Zalgo с помощью комбинируемых знаков Unicode. Выберите интенсивность, посмотрите варианты и скопируйте искаженный текст для профиля, мема или хоррор-поста.

Инструмент доступен на других языках