/ / Cách sử dụng lệnh head và tail để xử lý văn bản trên Linux

Cách sử dụng lệnh head và tail để xử lý văn bản trên Linux

gabriel heinzer xbEVM6oJ1Fs unsp

Có rất nhiều lệnh và công cụ Linux được sử dụng để xử lý các tệp văn bản. Nhưng có những lúc bạn không muốn đọc toàn bộ nội dung của một tập tin mà thay vào đó là một phần cụ thể của nó. Bạn có biết rằng bạn có thể sử dụng lệnh head và tail trên Linux để xuất ra phần đầu và phần cuối của một tệp tin tương ứng không?


Đọc tiếp để khám phá cách bạn có thể sử dụng hai lệnh này để xử lý và thao tác hiệu quả văn bản trên Linux.


Lệnh đứng đầu là gì?

Lệnh head được sử dụng để in ra các phần ban đầu của tệp. Nó đọc các tập tin từ đầu. Nếu bạn có một tệp có hơn một nghìn dòng, sẽ rất phức tạp để mở nó và đọc. Bạn có thể dễ dàng in ra một vài dòng từ đầu bằng lệnh head.

Cú pháp lệnh head

Cú pháp cơ bản của lệnh head là:

head [option] [file]

Có nhiều tùy chọn có sẵn để sử dụng cùng với lệnh head, một số tùy chọn trong số đó sẽ được thảo luận sau. Để nhận trợ giúp về dòng lệnh liên quan đến lệnh head, hãy kiểm tra trang hướng dẫn sử dụng của nó bằng cách chạy:

man head

Cách sử dụng lệnh head

Đối với ví dụ này, hãy tạo một tệp: number.txt. Trong tệp, liệt kê các số từ một đến 20 bằng chữ. Bạn có thể chọn sử dụng bất kỳ tệp nào bạn chọn, nhưng hãy đảm bảo rằng tệp đó có ít nhất 11 dòng.

Sử dụng Lệnh đầu mặc định

Theo mặc định, lệnh head in ra 10 dòng văn bản đầu tiên trong tệp. Hãy dùng thử với tệp number.txt bằng cách thực hiện lệnh này trong thiết bị đầu cuối của bạn:

head numbers.txt

Nó sẽ in ra 10 dòng đầu tiên của tệp:

one
two
three
four
five
six
seven
eight
nine
ten

Nếu tệp có ít hơn 10 dòng, lệnh head sẽ in tất cả các dòng hiện có.

Bạn có thể sử dụng lệnh head để in một số dòng cụ thể thay vì mặc định là 10. Để in ba dòng đầu tiên của tệp number.txt, hãy thực hiện lệnh này:

head -n 3 numbers.txt

Kết quả:

one
two
three

Loại trừ N dòng cuối cùng bằng lệnh head

Giống như bạn có thể in ra những dòng đầu tiên của văn bản, bạn cũng có thể quyết định loại trừ N dòng cuối cùng khi in. Bạn có thể làm điều này bằng cách sử dụng một số âm cho tham số N.

Để loại trừ 15 dòng cuối cùng của tệp number.txt, hãy chạy:

head -n -15 numbers.txt

Kết quả:

one
two
three
four
five

Lệnh head cũng có tùy chọn để in số ký tự hoặc byte đầu tiên trong tệp. Bạn có thể làm điều này bằng cách sử dụng -c quyền mua. Để in ra 10 ký tự đầu tiên, hãy sử dụng:

head -c 10 numbers.txt

Đầu ra:

one
two
th

Lệnh đuôi là gì?

Như tên của nó, lệnh tail in những dòng cuối cùng của tệp. Nó đọc các tệp từ phần cuối và xuất ra các dòng kết thúc.

Cú pháp lệnh đuôi

Cú pháp cơ bản của lệnh tail là:

tail [option] [file]

Để biết thêm thông tin về lệnh tail, hãy kiểm tra trang hướng dẫn sử dụng của nó bằng cách phát hành:

 man tail

Cách sử dụng lệnh tail

Chúng tôi sẽ sử dụng tệp number.txt đã được tạo cho các ví dụ sau.

Sử dụng Lệnh đuôi mặc định

Lệnh tail xuất ra 10 dòng cuối cùng của tệp khi được sử dụng mà không có bất kỳ tùy chọn đặc biệt nào. Ví dụ:

tail numbers.txt

Đầu ra sẽ hiển thị 10 dòng cuối cùng như đã đề cập:

eleven
twelve
thirteen
fourteen
fifteen
sixteen
seventeen
eighteen
nineteen
twenty

Trong trường hợp bạn không muốn in 10 dòng cuối cùng mà là một số cụ thể, bạn có thể sử dụng -N tùy chọn để đạt được điều đó. Để in bốn dòng cuối cùng của tệp number.txt, hãy thực hiện lệnh này:

tail -n 4 numbers.txt

Kết quả:

seventeen
eighteen
nineteen
twenty

Nếu bạn muốn bắt đầu từ một dòng cụ thể N, bạn có thể sử dụng -N cùng với một số dương để đạt được điều đó. Để in đầu ra của tệp số.txt từ dòng thứ 17, hãy thực hiện lệnh này:

tail -n +17 numbers.txt

Kết quả:

seventeen
eighteen
nineteen
twenty

Cũng giống như lệnh head, bạn có thể in một vài ký tự cuối cùng trong tệp bằng cách sử dụng -c quyền mua. Để in 10 ký tự cuối cùng của tệp number.txt, hãy thực hiện lệnh này:

tail -c 10 numbers.txt

Kết quả:

en
twenty

Sử dụng các lệnh đầu và đuôi với nhiều tệp

Bạn cũng có thể sử dụng đầu và đuôi để in nhiều tệp cùng một lúc. Đây là cú pháp để sử dụng các lệnh với nhiều đầu vào tệp:

head [option] [file1] [file2]
tail [option] [file1] [file2]

Sử dụng các lệnh đầu và đuôi cùng nhau

Bạn thậm chí có thể sử dụng head và tail trong cùng một lệnh bằng cách sử dụng ký hiệu ống. Biểu tượng ống dẫn chuyển hướng đầu ra của một lệnh dưới dạng đầu vào cho lệnh khác.

Ví dụ: để có dòng thứ sáu, thứ bảy và thứ tám, bạn có thể thực hiện lệnh này:

head -n 8 numbers.txt | tail -n 3

Kết quả:

six
seven
eight

Trong một lớp lót nói trên, lệnh head hiển thị tám dòng đầu tiên của tệp, sau đó đầu ra được chuyển cho lệnh tail, lệnh này sẽ in ba dòng cuối cùng của đầu ra được chuyển hướng.

head and tail: Các lệnh thao tác văn bản hữu ích

Linux cung cấp rất nhiều lệnh để giúp bạn thao tác và xử lý các tệp văn bản một cách hiệu quả, và lệnh head và tail chỉ là hai trong số rất nhiều lệnh. Các lệnh thao tác văn bản phổ biến nhất bao gồm grep, uniq, sort, sed, awk, v.v. Mỗi lệnh trong số chúng đáp ứng một mục đích khác nhau với bộ tính năng độc đáo của nó.

Ngoài head và tail, có rất nhiều lệnh thao tác văn bản và tệp khác có sẵn cho người dùng Linux.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *