Email Doanh NghiệpSSLFirewall Anti DDoSTối ưu tốc độ website

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Cách đánh số dòng trong file văn bản bằng lệnh nl trong Linux

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:19/05/2025
Lượt xem

Đánh giá

Lệnh nl là lệnh trong Linux dùng để hiển thị nội dung file văn bản kèm theo số dòng. Với khả năng tùy biến cao, nl giúp người dùng dễ dàng theo dõi, kiểm tra hoặc định dạng nội dung file theo từng dòng một cách linh hoạt. Bài viết này sẽ giới thiệu chi tiết cú pháp của lệnh nl, kèm theo 9 ví dụ thực tế như đánh số tất cả dòng, thay đổi bước nhảy, chỉ đánh số dòng khớp regex, v.v. Cuối cùng, bạn cũng sẽ được gợi ý giải pháp lưu trữ tối ưu từ Vietnix giúp cải thiện hiệu suất và tốc độ website đáng kể.

Điểm chính cần nắm

  • Lệnh nl trong Linux là gì?: Giới thiệu lệnh nl, công dụng chính và cách hoạt động cơ bản trong hệ thống Linux.
  • Cú pháp lệnh nl: Trình bày cấu trúc cú pháp lệnh nl cùng các tùy chọn quan trọng khi sử dụng.
  • 9 ví dụ về lệnh nl trong Linux: Tổng hợp 9 ví dụ minh họa giúp hiểu rõ cách sử dụng nl trong nhiều tình huống thực tế.
  • Vietnix – Giải pháp lưu trữ tối ưu cho tốc độ và hiệu suất website: Giới thiệu dịch vụ hosting hiệu suất cao từ Vietnix, cùng các lợi ích và thông tin liên hệ.
  • FAQ: Giải đáp các câu hỏi thường gặp liên quan đến lệnh nl trong Linux nhằm củng cố kiến thức và mở rộng hiểu biết.

Lệnh nl trong Linux là gì?

Lệnh nl (viết tắt của number lines) là một tiện ích dòng lệnh trong Linux/Unix dùng để hiển thị nội dung của tệp văn bản với số dòng được đánh tự động. Khi thực thi, nl sẽ đọc dữ liệu từ một tệp hoặc từ đầu vào chuẩn (STDIN), sau đó xuất nội dung đó ra đầu ra chuẩn (STDOUT) với các số dòng được chèn vào trước mỗi dòng văn bản theo các quy tắc nhất định.

Lệnh nl (viết tắt của number lines) dùng để hiển thị nội dung của tệp văn bản với số dòng được đánh tự động
Lệnh nl (viết tắt của number lines) dùng để hiển thị nội dung của tệp văn bản với số dòng được đánh tự động

Không giống như một số lệnh khác như cat -n vốn chỉ đơn giản đánh số tất cả các dòng, nl cho phép bạn tùy chỉnh cách đánh số, chẳng hạn như:

  • Chỉ đánh số dòng không trống.
  • Gộp các dòng trống liên tiếp thành một dòng logic.
  • Đặt số bắt đầu, khoảng cách giữa các số dòng.
  • Chỉ đánh số những dòng khớp biểu thức chính quy (regex).
  • Tùy chỉnh định dạng và độ rộng hiển thị số dòng.

Cú pháp lệnh nl

Cú pháp cơ bản

nl [OPTION]... [FILE]...

Trong đó:

  • OPTION: Các tùy chọn cho phép tùy chỉnh định dạng và cách đánh số dòng.
  • FILE: Tên tệp văn bản cần xử lý. Nếu không chỉ định tệp, nl sẽ đọc từ đầu vào chuẩn (STDIN).

Các tùy chọn của lệnh nl phổ biến

Tùy chọnMô tả
-b NUMBER hoặc -bNUMBERQuy định cách đánh số dòng nội dung. Ví dụ: -b a để đánh số tất cả các dòng, kể cả dòng trống.
-i NUMBER hoặc -iNUMBERThiết lập bước nhảy giữa các số dòng (mặc định là 1).
-n FORMAT hoặc -nNUMBERĐịnh dạng hiển thị số dòng: ln (canh trái), rn (canh phải), rz (canh phải + số 0).
-v NUMBER hoặc -vNUMBERĐặt số dòng bắt đầu (mặc định là 1).
-l NUMBER hoặc -lNUMBERGộp nhóm NUMBER dòng trống liên tiếp thành một dòng logic duy nhất.
-s STRING hoặc -sSTRINGThêm chuỗi STRING sau số dòng (ví dụ: dấu hai chấm, dấu ba chấm,…).
-w NUMBER hoặc -wNUMBERQuy định số ký tự tối thiểu để hiển thị số dòng (mặc định là 6).
Các tùy chọn của lệnh nl phổ biến

iconLưu ý

Trong các ví dụ minh họa bên dưới, giả sử bạn đang sử dụng một tệp có tên vietnix.txt

Nội dung của vietnix.txt:

Chào mừng bạn đến với Vietnix!

Dịch vụ Hosting chất lượng cao
Firewall hiệu suất cao
SLA lên đến 99.99%

Hỗ trợ 24/7
Giá cả hợp lý

Hiển thị nội dung file với số dòng

Lệnh nl đơn giản nhất là đánh số các dòng không trống trong file

nl vietnix.txt

Kết quả sẽ hiển thị số dòng trước mỗi dòng có nội dung, bỏ qua các dòng trống.

Hiển thị nội dung file với số dòng
Hiển thị nội dung file với số dòng

Đánh số tất cả các dòng, kể cả dòng trống

Để đánh số cả các dòng trống, dùng tùy chọn -b a (all lines):

nl -b a vietnix.txt

Lệnh này sẽ đánh số tất cả dòng, bao gồm dòng trống.

Đánh số tất cả các dòng, kể cả dòng trống
Đánh số tất cả các dòng, kể cả dòng trống

Gộp nhiều dòng trống liên tiếp

Tùy chọn -l NUMBER giúp gom nhóm NUMBER dòng trống liên tiếp thành một dòng logic duy nhất khi đánh số. Ví dụ dưới đây gộp mỗi 2 dòng trống liên tiếp thành một dòng logic:

nl -b a -l 2 vietnix.txt

Nếu không dùng -l, mỗi dòng trống sẽ được đánh số riêng.

Gộp nhiều dòng trống liên tiếp
Gộp nhiều dòng trống liên tiếp

Thay đổi bước nhảy số dòng

Mặc định số dòng tăng lên 1 mỗi dòng. Bạn có thể thay đổi bước nhảy này bằng -i NUMBER. Ví dụ tăng số dòng mỗi lần thêm 3:

nl -i 3 vietnix.txt

Lưu ý số dòng đầu tiên vẫn bắt đầu từ 1.

Thay đổi bước nhảy số dòng
Thay đổi bước nhảy số dòng

Thay đổi số dòng bắt đầu

Mặc định số dòng bắt đầu từ 1. Dùng -v NUMBER để thay đổi số dòng bắt đầu. Ví dụ bắt đầu đánh số từ 10:

nl -v 10 vietnix.txt
Thay đổi số dòng bắt đầu
Thay đổi số dòng bắt đầu

Thêm chuỗi sau số dòng

Bạn có thể thêm chuỗi ký tự bất kỳ sau số dòng với -s STRING. Ví dụ thêm dấu --> sau số dòng:

nl -s "--> " vietnix.txt
Thêm chuỗi sau số dòng
Thêm chuỗi sau số dòng

Thay đổi độ rộng cột số dòng

Độ rộng mặc định để hiển thị số dòng là 6 ký tự. Dùng -w NUMBER để thay đổi độ rộng này. Ví dụ sử dụng độ rộng 4 ký tự:

nl -w 4 vietnix.txt

Điều này ảnh hưởng đến khoảng cách giữa số dòng và nội dung.

Thay đổi độ rộng cột số dòng
Thay đổi độ rộng cột số dòng

Chí đánh số những dòng khớp với biểu thức chính quy

Bạn có thể đánh số riêng các dòng thỏa mãn biểu thức chính quy với -b pREGEXP. Ví dụ chỉ đánh số các dòng bắt đầu bằng chữ F:

nl -b p^F vietnix.txt
Chí đánh số những dòng khớp với biểu thức chính quy
Chí đánh số những dòng khớp với biểu thức chính quy

Thay đổi định dạng hiển thị số dòng

Tùy chọn -n cho phép chọn định dạng số dòng:

  • ln: canh trái, không có số 0 đầu dòng
  • rn: canh phải, không có số 0 đầu dòng (mặc định)
  • rz: canh phải, có số 0 đầu dòng (leading zeros)

Ví dụ:

nl -n ln vietnix.txt
nl -n rn vietnix.txt
nl -n rz vietnix.txt
Thay đổi định dạng hiển thị số dòng
Thay đổi định dạng hiển thị số dòng

Vietnix – Giải pháp lưu trữ tối ưu cho tốc độ và hiệu suất website

Vietnix cung cấp dịch vụ VPShosting chất lượng cao, được thiết kế nhằm tối ưu tốc độ tải trang, đảm bảo hiệu suất ổn định và bảo mật toàn diện. Nhờ hệ thống máy chủ hiện đại đặt tại các datacenter hàng đầu cùng đội ngũ kỹ thuật nhiều kinh nghiệm hỗ trợ 24/7, Vietnix giúp website của bạn vận hành mượt mà, an toàn và luôn sẵn sàng trước mọi nhu cầu.

Bất kể bạn đang xây dựng blog cá nhân, website doanh nghiệp hay hệ thống thương mại điện tử, dịch vụ lưu trữ tại Vietnix luôn sẵn sàng mở rộng linh hoạt, dễ dàng quản lý và hỗ trợ kỹ thuật nhanh chóng – góp phần nâng cao trải nghiệm người dùng và hiệu quả vận hành.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.

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

Có thể thay đổi định dạng số dòng trong nl không?

Có. Dùng -n với các tùy chọn: ln (căn trái), rn (căn phải), rz (căn phải có thêm số 0).

Có thể dùng nl với output của lệnh khác được không?

Được. Bạn có thể dùng pipe: `cat vietnix.txt

nl có thể kết hợp regex để chỉ đánh số dòng phù hợp không?

Có. Dùng -b pREGEX, ví dụ nl -b p^F vietnix.txt để chỉ đánh số dòng bắt đầu bằng chữ F.

nlcat -n khác nhau như thế nào?

cat -n đánh số mọi dòng, kể cả dòng trống, còn nl mặc định chỉ đánh số dòng có nội dung và hỗ trợ nhiều tùy chỉnh hơn.

Khi nào nên dùng nl thay vì awk để đánh số dòng?

Khi bạn chỉ cần đánh số đơn giản và không cần xử lý logic phức tạp, nl nhanh gọn hơn awk. Với nhu cầu tùy biến sâu, awk phù hợp hơn.

Có thể dùng nl để xử lý nhiều file cùng lúc không?

Có thể. Ví dụ: nl file1.txt file2.txt sẽ nối nội dung và đánh số liên tục. Tuy nhiên, không thể đánh số lại từ đầu cho mỗi file.

Tại sao nl mặc định không đánh số dòng trống?

nl coi dòng trống là không mang nội dung. Tuy nhiên, bạn có thể thay đổi hành vi này với -b a.

Có thể dùng nl để định dạng lại đoạn mã lập trình không?

Không trực tiếp. nl chỉ đánh số dòng, không hỗ trợ tô màu hay cấu trúc. Nhưng kết hợp nl với các công cụ khác có thể hữu ích khi debug code.

Có thể ghi kết quả nl ra file không?

Được. Dùng dấu >: nl vietnix.txt > output.txt.

nl xử lý tốt các tệp có mã UTF-8 không?

Có, miễn là hệ thống và terminal hỗ trợ mã hóa UTF-8 đầy đủ.

Tại sao dòng đầu tiên luôn bắt đầu từ 1 kể cả khi dùng -i?

-i chỉ ảnh hưởng đến bước nhảy giữa các dòng, còn số bắt đầu do -v xác định.

Có thể tích hợp nl vào quá trình kiểm tra log tự động không?

Có. Ví dụ: sau khi lọc log bằng grep, dùng nl để dễ đánh dấu và kiểm tra thủ công hoặc tạo báo cáo.

Lời kết

Lệnh nl mang lại sự tiện lợi trong việc xử lý và định dạng nội dung file văn bản khi làm việc với Linux, đặc biệt là với các thao tác debug, phân tích dữ liệu hoặc xuất báo cáo. Nếu bạn có bất kỳ thắc mắc nào liên quan đến nl, cú pháp, hoặc cách áp dụng trong các tình huống cụ thể, đừng ngần ngại để lại bình luận. Hoặc nếu bạn cần hỗ trợ kỹ thuật sâu hơn, hãy liên hệ ngay với đội ngũ chuyên gia từ Vietnix. Mình luôn sẵn sàng giúp bạn tối ưu hiệu suất hệ thống và website nhanh chóng, hiệu quả.

Mọi người cũng xem:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi sinh nhật
Nhanh tay, số lượng có hạn!
17/05/2025 - 22/06/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG