/ / Cách sử dụng xargs để xử lý các đối số có đường ống trong Linux

Cách sử dụng xargs để xử lý các đối số có đường ống trong Linux

Tìm hiểu cách chuyển đổi đầu vào chuẩn thành đối số dòng lệnh với xargs.


Đường ống có van

Nếu bạn cố gắng chuyển đầu ra từ một lệnh Linux sang lệnh khác, bạn có thể gặp phải lỗi trong đó lệnh không thành công vì danh sách đối số của nó quá dài.

May mắn thay, có một lệnh trên các hệ thống Linux định dạng đúng các đối số cho các lệnh. Nó được gọi là xargs và đây là cách sử dụng nó.

Tại sao sử dụng xargs?

Những gì xargs làm là nó nhận đầu ra tiêu chuẩn và định dạng nó để một lệnh khác có thể nhận được. Trong khi nhiều tiện ích Linux có thể chấp nhận đầu vào tiêu chuẩn, một số chỉ chấp nhận đối số làm đầu vào.

Những điều này có thể không thành công nếu bạn cố gắng chuyển hướng đầu vào chuẩn đến lệnh. Một số lệnh vẫn chỉ chấp nhận một số đối số nhất định và xargs sẽ giải quyết việc này cho bạn.

Cách sử dụng xargs trên Linux

Bạn có thể gọi xargs như thế này:

xargs [command]

xargs theo dõi độ dài của các đối số mà một lệnh chấp nhận và định dạng đầu vào chuẩn để xuất ra danh sách đối số để cung cấp cho lệnh. Khi nó đạt đến giới hạn của một dòng lệnh, nó sẽ gọi lại lệnh với các đối số còn lại.

Sử dụng xargs trong Pipelines

Tính hữu ích của xargs xuất hiện khi nó được sử dụng trong các đường ống. Một ví dụ có sẵn sẽ là piping cat to echo, đây là một lệnh chỉ chấp nhận các đối số, không phải đầu vào tiêu chuẩn.

cat | echo

Điều này sẽ tạo ra tiếng vang để in bất kỳ thứ gì bạn nhập trên một dòng ngay khi bạn nhấn Ctrl + D.

xargs được sử dụng phổ biến nhất với lệnh find, với lệnh find được sử dụng để liệt kê các tệp và xargs được sử dụng để xử lý danh sách các tệp theo một cách nào đó.

Cú pháp lệnh find đã đủ phức tạp, vậy tại sao lại sử dụng một lệnh khác? Nếu bạn sử dụng find’s “-exectùy chọn “, nó sẽ tạo ra một quy trình mới mỗi khi nó tìm kiếm thông qua một tệp trong thư mục. Sử dụng xargs hiệu quả hơn.

Bạn có thể muốn xóa các tệp trong thư mục cũ hơn một ngày nhất định, chẳng hạn như 90 ngày. Để làm điều này, bạn sẽ sử dụng đường dẫn này:

find . -mtime +90 -print | xargs rm

xargs Giúp các lệnh Linux xử lý đầu vào một cách chính xác

Với xargs, bây giờ bạn có thể đảm bảo rằng các lệnh sẽ nhận các đối số theo cách bạn mong đợi. Kết hợp với tính năng tìm kiếm, nó sẽ cho phép bạn xử lý các tệp trên máy của mình một cách nhanh chóng.

Khả năng chuyển hướng đầu vào và đầu ra trong trình bao là một trong những điểm mạnh lâu bền của Linux như một sự phát triển vượt bậc của triết lý Unix. Nếu bạn muốn tìm hiểu thêm về cách hoạt động của chuyển hướng đầu vào / đầu ra Linux, hãy đọc tiếp.


Giắc cắm âm thanh được kết nối với thiết bị
Hiểu I / O tiêu chuẩn trên Linux

Cải thiện quy trình dòng lệnh Linux của bạn bằng cách kết hợp nhiều lệnh lại với nhau bằng I / O tiêu chuẩn.

Đọc tiếp


Giới thiệu về tác giả

Similar Posts

Leave a Reply

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