Số dòng

Dùng để dán văn bản, mã nguồn, tệp nhật ký hoặc tệp CSV; bộ đếm sẽ trả về tổng số dòng, số dòng không rỗng, số dòng trống, số dòng duy nhất và số dòng trùng lặp. rất hữu ích khi nhà tuyển dụng hỏi “có bao nhiêu LOC trong kho lưu trữ này?”, khi bạn cần biết số hàng trong một tệp CSV mà không mở nó trong Excel, hoặc khi muốn kiểm tra danh sách từ để tìm các từ trùng trước khi nhập vào kịch bản.

Cách đếm số dòng

  1. 1

    Dán nội dung

    Tối đa vài megabyte văn bản, nhật ký, tệp nguồn, định dạng Markdown, danh sách.

  2. 2

    Đọc phần phân tích chi tiết

    Tổng số, số lượng phần tử không trống, số lượng phần tử rỗng, số lượng duy nhất và số lượng bản sao được hiển thị đồng thời.

  3. 3

    Quyết định điều gì là quan trọng.

    Bình luận, dòng mới nối tiếp, khoảng trắng giữa các phần, tùy vào trường hợp sử dụng của bạn mà quyết định.

  4. 4

    Hành động theo số liệu tính toán

    Xác định kích thước dữ liệu nhập, loại bỏ bản sao trùng lặp, cắt bỏ phần thừa hoặc báo cáo con số như bằng chứng.

Điều gì thực sự được coi là một đường?

Các công cụ khác nhau đưa ra các giá trị “số dòng” khác nhau cho cùng một tệp tin do chúng đưa ra những lựa chọn khác biệt ở ba khía cạnh chính.

Ba điểm mơ hồ

  1. Dòng mới ở cuối tệp. Các tệp văn bản theo tiêu chuẩn POSIX kết thúc bằng định dạng \n. Liệu dòng mới cuối cùng có tạo thêm một dòng trống hay không? Hệ thống đếm dòng mới trong wc -l: một tệp chứa nội dung trên một dòng và có dòng mới ở cuối sẽ được ghi là 1; ngược lại, một tệp có nội dung nhưng không có dòng mới ở cuối sẽ được ghi là 0 – điều này khá bất ngờ. Chỉ số này phản ánh “số lượng dòng nội dung”, bỏ qua dòng trống cuối cùng sau ký hiệu kết thúc.

  2. Ký tự trống so với chỉ chứa khoảng trắng: Một dòng có khoảng trắng hoặc tab nhưng không có ký tự nào hiển thị – liệu đó có phải là dòng trống hay không? Bộ đếm coi các dòng chỉ chứa khoảng trắng là dòng trống, phù hợp với hầu hết các trình soạn thảo.

  3. Tệp một dòng: Một tệp chỉ gồm một dòng mà không có ký hiệu dòng mới ở cuối vẫn được coi là 1 dòng.

Giải thích các đầu ra của máy tính toán

Chỉ số Định nghĩa
Tổng số dòng Tất cả các dòng, bao gồm cả dòng trống, tính đến dòng cuối cùng không rỗng
Không rỗng Các dòng chứa ít nhất một ký tự không phải khoảng trắng
Trống Các dòng trống hoặc chỉ chứa khoảng trắng
Duy nhất Các dòng khác nhau và không trống, phân biệt chữ hoa – chữ thường
Bản sao trùng Các dòng không trống xuất hiện nhiều hơn một lần (số lượng bản sao trùng)

Các trường hợp sử dụng phổ biến

  • Xóa trùng trong danh sách từ: Dán một danh sách từ vào hệ thống, kiểm tra số lượng từ trùng lặp, sau đó chạy công cụ loại bỏ trùng.
  • Số hàng trong tệp CSV: Dán nội dung chính của tệp vào, trừ đi 1 cho phần tiêu đề để thu được số hàng dữ liệu.
  • Phân tích nhật ký – kiểm tra xem nhật ký đã được xoay có số mục như mong đợi hay không.
  • LOC của tệp nguồn, nhanh chóng biết “có bao nhiêu dòng trong tệp này” mà không cần mở IDE.
  • Chất lượng danh sách email – kiểm tra số lượng địa chỉ trùng lặp trước khi triển khai chiến dịch.

LOC không mang tính năng năng suất

Số dòng trong mã nguồn là một chỉ số không chính xác. Một mô-đun dày đặc, được phân tích chi tiết thành các thành phần nhỏ và gồm 100 dòng có thể khó viết và bảo trì hơn nhiều so với một mô-đun dài tới 1.000 dòng. Hãy sử dụng số dòng để ước lượng phạm vi triển khai (xem liệu có phù hợp với yêu cầu sử dụng, cần chia trang khi xuất kết quả hay không, hoặc để so sánh kích thước tệp), chứ không phải để đánh giá hiệu suất.

Unicode và các ký hiệu kết thúc dòng

Bộ đếm sẽ chuẩn hóa các giá trị \r\n, \r\n thành một dòng mới trước khi thực hiện đếm, nhằm đảm bảo kết quả thống nhất giữa hệ điều hành Windows, Mac cổ điển và hệ thống Unix. Các dấu phân cách dòng trong Unicode (U+2028) và dấu phân cách đoạn văn (U+2029) cũng được coi là các điểm ngắt dòng.

Câu hỏi thường gặp

wc -l đếm các ký tự dòng mới; do đó, một tệp chứa nội dung nhưng không có ký tự dòng mới cuối cùng sẽ cho kết quả ít hơn một lần. Bộ đếm này hiển thị “số dòng nội dung”, phù hợp với hầu hết các thanh trạng thái trong các trình soạn thảo.

Đúng vậy – các dòng chỉ chứa khoảng trắng hoặc tab sẽ được coi là trống, chứ không phải không rỗng. Điều này phù hợp với VS Code, Sublime và hầu hết các quy trình làm việc của Git.

Đúng vậy. Cả “Hello” và “hello” đều được coi là những dòng văn bản riêng biệt và độc đáo. Nếu bạn muốn loại bỏ dữ liệu trùng lặp mà không phân biệt chữ hoa và chữ thường, hãy chuyển các ký tự đầu vào sang dạng thường trước bằng công cụ chuyển đổi chữ cái.

Không, máy đếm đọc dữ liệu đầu vào tại chỗ và không có gì được tải lên hay ghi nhật ký.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác