Счетчик строк
Вставьте текст, исходный код, лог-файл или CSV, и счетчик вернет общее число строк, непустые строки, пустые строки, уникальные строки и дублирующиеся строки. Удобно, когда рекрутер спрашивает «сколько LOC в этом репозитории?», когда нужно узнать, сколько строк в CSV, не открывая его в Excel, или когда вы хотите проверить список слов на дубликаты перед тем, как скормить его скрипту.
Как подсчитать строки
-
1
Вставьте содержимое
До нескольких мегабайт текста: лог, исходный файл, markdown, список.
-
2
Прочитайте разбивку
Количество всех, непустых, пустых, уникальных и дублирующихся строк отображается сразу.
-
3
Решите, что считать
Комментарии, конечные переводы строк, пустые строки между разделами: ваш сценарий решает.
-
4
Действуйте по числу
Оцените размер импорта, удалите дубликаты, обрежьте или представьте число как доказательство.
Что на самом деле считается строкой
Разные инструменты дают разное «количество строк» для одного и того же файла, потому что делают разный выбор по трем пунктам.
Три неоднозначности
-
Конечный перевод строки. Текстовые файлы POSIX заканчиваются на
\n. Добавляет ли финальный перевод строки лишнюю пустую строку?wc -lсчитает переводы строк, поэтому файл с содержимым в одну строку плюс конечный перевод строки сообщает 1; файл с содержимым и без конечного перевода строки сообщает 0 (что неожиданно). Этот счетчик сообщает «строки содержимого», игнорируя финальную пустую строку после терминатора. -
Пустая строка против строки только из пробелов. Строка с пробелами или табуляциями, но без видимого символа, пустая она или нет? Счетчик трактует строки только из пробельных символов как пустые, что соответствует большинству редакторов.
-
Однострочные файлы. Однострочный файл без конечного перевода строки, это все равно 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. Выберите интенсивность, посмотрите варианты и скопируйте искаженный текст для профиля, мема или хоррор-поста.
Инструмент доступен на других языках
- Số dòng [VI]
- Kontainer Baris [ID]
- Contador de Líneas [ES]
- ตัวนับบรรทัด [TH]
- Rekenaantal van regels [NL]
- Zeilen Zähler [DE]
- 줄 수 세기 [KO]
- Licznik linii [PL]
- Contador de Linhas [PT]
- عدّاد السطور [AR]
- Radräknare [SV]
- 行カウンター [JA]
- Compteur de lignes [FR]
- Satır Sayacı [TR]
- 行计数器 [ZH]
- Line Counter [EN]
- Contatore di righe [IT]