Licznik linii

Wklej tekst, kod źródłowy, plik logów lub plik CSV – licznik wygeneruje liczbę całkowitych linii, linii niepustych, linii pustych, unikalnych linii oraz linii duplikatowych. Jest przydatny, gdy rekruter pyta: „Ile linii kodu znajduje się w tym repo“, gdy chcesz wiedzieć, ilu rzędów ma plik CSV, bez otwierania go w Excelu, lub gdy chcesz sprawdzić listę słów na obecność duplikatów przed wprowadzeniem jej do skriptu.

Jak liczyć linie

  1. 1

    Wklej zawartość

    Do kilku megabajtów tekstu – dziennik, plik źródłowy, Markdown, lista.

  2. 2

    Przeczytaj rozkład danych.

    Razem pokazuje się liczbę całkowitych, niepustych, pustych, unikalnych oraz duplikatów.

  3. 3

    Postanowić, co ma znaczenie.

    Komentarze, nowe linie na końcu, przerwy puste między sekcjami – to właśnie twoje przypadki wykorzystania decydują.

  4. 4

    Działaj zgodnie z wymogami.

    Określ rozmiar importu, usun duplikaty, skróć dane lub przedstaw liczbę jako dowód.

Co rzeczywiście uznaje się za linię?

Różne narzędzia wyliczają inny liczbę linii dla tej samej plikówki, ponieważ dokonują różnych wyborów w trzech aspektach.

Trzy niejednoznaczności

  1. Kreska nowej linii na końcu pliku. Pliki tekstowe zgodne z standardem POSIX kończą się kodem \n. Czy ostatnia kreska nowej linii dodaje dodatkową pustą linię? Kod wc -l liczy linie nowe: plik zawierający cały treść na jednej linii oraz kończącą się kreską nowej linii ma wynik 1, podczas gdy plik zawierający treść bez takiej kreski ma wynik 0 – co jest zaskakujące. Ten wskaźnik odzwiercza liczbę „linii treści“, ignorując ostatnią pustą linię po znaku końcowym.

  2. Pola puste vs tylko przestrzeń wolna. Częścica zawierająca przestrzenie lub tabulacje, ale bez widocznych znaków – czy jest pusta? System traktuje takie cząsteczki jako pola puste, co pokrywa się z zachowaniem większości programów edycyjnych.

  3. Pliki jednolinijowe. Plik składający się z jednej linii bez końcowego znaku nowej linii jest nadal uważany za jedną linię.

Wyjaśnienie wyników z licznika

Metryka Definicja
Łączna liczba linii Wszystkie linie, włącznie z pustymi, aż do ostatniej niepustej linii
Niepuste Linie zawierające co najmniej jeden znak niebędący białym znakiem
Puste Linie puste lub zawierające wyłącznie białe znaki
Unikalne Różne, niepuste linie, z rozróżnianiem wielkości liter
Duplikaty Niepuste linie występujące więcej niż raz (liczba duplikatów)

Typowe przypadki użytkowania

Usunięcie duplikatów z listy słów: wklej listę słów, sprawdź liczbę duplikatów, a następnie przeprowadź ją przez program usuwający duplikaty.

  • Liczba wierszy w pliku CSV: wklej treść pliku i odjęj jeden wiersz z nagłówka, aby uzyskać liczbę rzędów danych. – Analiza protokołu – sprawdź, czy obrócony protokół zawiera oczekiwany liczbę wpisów.
  • LOC pliku źródłowego, szybki sposób na ustalenie liczby linii w pliku, bez otwierania środowiska programistycznego (IDE). – Hygiena listy adresów e-mail – sprawdź, ile adresów jest duplikatów, zanim wysłasz kampanię.

LOC nie jest produktywnością

Liczenie linii kodu źródłowego to nieprecyzyzna metoda oceny. Moduł składający się z 100 linii, który jest gęsty i dobrze strukturalizowany, może być trudniejszy do napisania i utrzymania niż moduł liczący 1000 linii. Wykorzystuj liczenie linii do oszacowania zakresu implementacji (możliwość umieszczenia w określonym kontekście, rozdzielanie wyników na strony, porównywanie wielkości plików), a nie do oceny wydajności.

Unicode i końciki linii

Urządzenie normalizuje wartości \r\n, \r i \n do jednego znaku nowego wiersza przed liczeniem, dzięki czemu końciki wierszy w systemach Windows, klasycznym Mac oraz Unix dają identyczny wynik. Rozdzielacze wierszy w Unicode (U+2028) oraz rozdzielacze paragrafów (U+2029) są również traktowane jako przerwy.

Najczęściej zadawane pytania

wc -l liczy znaki nowego wiersza, dlatego plik zawierający treść, ale bez ostatniego znaku nowego wiersza, jest zliczany o jeden mniej. Ten licznik pokazuje „liczbę wierszy treści“, co odpowiada większości pasków stanu w edytorach.

Tak – linie zawierające wyłącznie przestrzenie lub tabu są uważane za puste, a nie za niepuste. To odpowiada zachowaniu w VS Code, Sublime oraz większości procesów pracy z Git.

Tak. Słowa „Hello“ i „hello“ są traktowane jako dwie różne, unikalne linie. Jeśli chcesz usunąć duplikaty bez uwzględniania wielkości liter, najpierw przekształć dane we formę małych liter za pomocą konwertora wielkości liter.

Nie – licznik odczytuje dane lokalnie, a żadne informacje nie są wysyłane ani rejestrowane.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach