Trong bài tiếp theo, chúng ta sẽ xem một số cách để thêm số dòng vào tệp văn bản mà chúng tôi hình dung từ thiết bị đầu cuối. Nếu bạn đã từng tự hỏi làm thế nào để thêm các số dòng này vào đầu ra tiêu chuẩn của tệp văn bản Gnu / Linux của mình, thì bài viết ngắn này sẽ cố gắng giải thích các cách khác nhau để thực hiện điều đó.
Có một số cách để thêm số dòng vào tệp văn bản. Tiếp theo, chúng ta sẽ thấy 6 phương pháp khác nhau để thực hiện điều đó. Tôi tưởng tượng rằng ngoài những cách mà bạn có thể xem bên dưới, sẽ có một số cách khác, nhưng để bắt đầu, những cách này là đủ.
Thêm số dòng vào đầu ra tệp văn bản chuẩn
Để bắt đầu, chúng ta sẽ tạo một tệp có tên là file.txt. Trong đó tôi sẽ thêm một vài dòng để đưa ra nội dung, nội dung này sẽ được xác định. Để xem nội dung của tệp mà tôi vừa tạo, chúng ta sẽ mở terminal (Ctrl + Alt + T) và viết vào đó:
cat archivo.txt
Sử dụng lệnh nl
Như có thể thấy từ đầu ra của lệnh cat, tệp có 10 dòng, trong đó ba dòng trống. Chúng tôi sẽ thêm số dòng bằng cách sử dụng lệnh nl. Để làm như vậy, hãy chạy:
nl archivo.txt
Như đã thấy trong lần chụp trước, lệnh nl bỏ qua các dòng trống. Chỉ cần thêm các số vào các dòng không trống. Nếu bạn muốn đánh số tất cả các dòng, bao gồm các dòng trống, chạy:
nl -b a archivo.txt
Ngoài ra, để rõ ràng hơn khi đọc kết quả, chúng ta có thể thêm một biểu tượng sau các số. Ví dụ: để thêm dấu chấm sau các số, hãy chạy:
nl -s "." archivo.txt
Bạn có thể ước căn chỉnh chiều rộng đầu ra. Để làm như vậy, hãy sử dụng -w tùy chọn với một giá trị thay đổi như nó được hiển thị trong phần sau:
nl -w3 archivo.txt
Sử dụng lệnh mèo
Lệnh cat được sử dụng để hiển thị nội dung của tệp, như được thấy trong ảnh chụp màn hình đầu tiên của bài viết này. Nếu bạn muốn thêm số vào đầu ra của tệp, sử dụng -n như nó được hiển thị trong phần sau:
cat -n archivo.txt
Bạn có thể quan tâm chuyển đầu ra tiêu chuẩn sang một tệp mới. Để làm điều đó, bạn chỉ cần chạy lệnh như hình dưới đây:
cat -n archivo.txt > nuevoarchivo.txt
Sử dụng lệnh awk
Đây có lẽ là phương pháp phức tạp nhất cho kết quả thu được. Thêm vào số dòng để xuất tệp bằng lệnh awk, chạy:
awk 'BEGIN{i=1} /.*/{printf "%d.% s\n",i,$0; i++}' archivo.txt
Như bạn đã thấy, tôi đã chỉ định số bắt đầu là 1 trong tham số BEGIN. Chúng tôi có thể chỉ định bất kỳ số ban đầu nào khác mà bạn chọn, ví dụ 5, như có thể thấy bên dưới:
awk 'BEGIN{i=5} /.*/{printf "%d.% s\n",i,$0; i++}' archivo.txt
Sử dụng lệnh sau nếu bạn không muốn tính đến các dòng trống:
awk 'BEGIN{i=0} {if($0 !~ /^$/) {printf ("%d.%s \n",i,$0); i++} else { print $0} } ' archivo.txt
Nếu bạn cho rằng các lệnh trên hơi khó nhớ, hãy sử dụng lệnh sau, lệnh này sẽ cho bạn kết quả giống như lệnh đầu tiên được hiển thị với lệnh AWK:
awk '{ print FNR " " $0 }' archivo.txt
Sử dụng lệnh sed
Để thêm số dòng đến đầu ra tiêu chuẩn của tệp bằng lệnh sed, chạy:
sed '/./=' archivo.txt | sed '/./N; s/\n/ /'
Lệnh sed có một tính năng thú vị cần đề cập. Chúng ta có thể hiển thị một dòng cụ thể từ một tệp. Ví dụ: để hiển thị dòng thứ bảy của tệp của chúng tôi, hãy chạy:
sed -n 7p archivo.txt
Sử dụng lệnh less
đến nối số vào đầu ra tiêu chuẩn của tệp bằng cách sử dụng ít hơn, chạy:
less -N archivo.txt
Sử dụng lệnh grep
Lệnh grep có thể được sử dụng để tìm kiếm một dòng có chứa văn bản cụ thể. Nếu bạn ước thêm số dòng vào các dòng chứa văn bản được tìm kiếm, chạy:
grep -n "línea" archivo.txt
Hãy nhớ rằng lệnh này sẽ chỉ thêm các số vào các dòng chứa chuỗi tìm kiếm. Ngoài ra, như trong ảnh chụp màn hình, nó tô màu cho văn bản được tìm kiếm. Mọi thứ khác trong tệp đã cho sẽ bị bỏ qua.
Và đó là nó, thậm chí tôi phải nói rằng các lệnh này có các tùy chọn khác mà chúng có thể bổ sung hoặc mở rộng những người đã được mô tả trong bài viết này. Để biết thêm thông tin về các lệnh đã được đặt tên ở đây, bạn có thể tham khảo trang người đàn ông.