Lệnh dán Linux được giải thích cho người mới bắt đầu (5 ví dụ)

theanh

Administrator
Nhân viên
Đôi khi, khi làm việc trên dòng lệnh trong Linux, có thể phát sinh tình huống mà bạn phải hợp nhất các dòng của nhiều tệp để tạo ra dữ liệu có ý nghĩa/hữu ích hơn. Vâng, bạn sẽ vui mừng khi biết rằng có một tiện ích dòng lệnh paste thực hiện việc này cho bạn. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh này cũng như các tính năng chính mà nó cung cấp bằng các ví dụ dễ hiểu.

Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ được đề cập trong bài viết này đều đã được thử nghiệm trên Ubuntu 16.04 LTS.

Lệnh dán Linux​

Như đã đề cập ở trên, lệnh dán sẽ hợp nhất các dòng tệp. Đây là cú pháp của công cụ:
Mã:
paste [OPTION]... [FILE]...
Và đây là cách pháp sư của paste giải thích:
Mã:
Viết các dòng bao gồm các dòng tương ứng tuần tự từ mỗi FILE, được phân tách bằng TAB, 
vào đầu ra chuẩn. Nếu không có FILE hoặc khi FILE là -, hãy đọc đầu vào chuẩn.
Các ví dụ theo kiểu Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách paste hoạt động.

Câu hỏi 1. Làm thế nào để nối các dòng của nhiều tệp bằng lệnh paste?​

Giả sử chúng ta có ba tệp - file1.txt, file2.txt và file3.txt - với nội dung sau:



Và nhiệm vụ là hợp nhất các dòng của các tệp này theo cách mà mỗi hàng của đầu ra cuối cùng chứa chỉ mục, quốc gia và châu lục, sau đó bạn có thể thực hiện điều đó bằng cách sử dụng paste theo cách sau:
Mã:
paste file1.txt file2.txt file3.txt



Câu hỏi 2. Làm thế nào để áp dụng dấu phân cách khi sử dụng paste?​

Đôi khi, có thể có yêu cầu thêm ký tự phân cách giữa các mục của mỗi hàng kết quả. Bạn có thể thực hiện thao tác này bằng tùy chọn dòng lệnh -d, yêu cầu bạn cung cấp ký tự phân cách mà bạn muốn sử dụng.

Ví dụ, để áp dụng dấu hai chấm :)) làm ký tự phân cách, hãy sử dụng lệnh dán theo cách sau:
Mã:
paste -d : file1.txt file2.txt file3.txt
Đây là kết quả đầu ra mà lệnh này tạo ra trên hệ thống của chúng tôi:


Câu hỏi 3. Làm thế nào để thay đổi cách hợp nhất các dòng?​

Theo mặc định, lệnh dán hợp nhất các dòng theo cách mà các mục trong cột đầu tiên thuộc về tệp đầu tiên, các mục trong cột thứ hai thuộc về tệp thứ hai, v.v. Tuy nhiên, nếu muốn, bạn có thể thay đổi điều này để hoạt động hợp nhất diễn ra theo từng hàng.

Bạn có thể thực hiện thao tác này bằng tùy chọn dòng lệnh -s.
Mã:
paste -s file1.txt file2.txt file3.txt
Sau đây là đầu ra:




Câu hỏi 4. Làm thế nào để sử dụng nhiều dấu phân cách?​

Có, bạn cũng có thể sử dụng nhiều dấu phân cách. Ví dụ, nếu bạn muốn sử dụng cả : và |, bạn có thể thực hiện theo cách sau:
Mã:
paste -d ':|' file1.txt file2.txt file3.txt
Sau đây là kết quả:




Câu hỏi 5. Làm thế nào để đảm bảo các dòng được hợp nhất được kết thúc bằng NUL?​

Theo mặc định, các dòng được hợp nhất thông qua dán sẽ kết thúc bằng một dòng mới. Tuy nhiên, nếu muốn, bạn có thể làm cho chúng kết thúc bằng NUL, điều mà bạn có thể làm bằng cách sử dụng tùy chọn -z.
Mã:
paste -z file1.txt file2.txt file3.txt

Kết luận​

Như hầu hết các bạn đều đồng ý, lệnh paste không khó hiểu và sử dụng. Nó có thể cung cấp một tập hợp hạn chế các tùy chọn dòng lệnh, nhưng công cụ này thực hiện những gì nó tuyên bố. Bạn có thể không cần dùng nó hằng ngày, nhưng paste có thể là một công cụ tiết kiệm thời gian thực trong một số trường hợp. Trong trường hợp bạn cần, đây là trang hướng dẫn của công cụ.
 
Back
Bên trên