Giả sử tôi muốn xóa tất cả các tệp trong một thư mục lớn hơn 1 MB.
$ find . -size +1M | xargs -0 rm
Điều này sẽ không xóa các tập tin có không gian trong tên của họ. Vì vậy, tôi muốn nó trích dẫn tất cả các đối số mà nó gửi đến rm. Nếu findcung cấp cho nó Some report.docxnó phải vượt qua "Some report.docx"để rm.
Làm thế nào tôi có thể làm điều đó?
xargs -d$'\n'để giới hạn dấu phân cách chỉ các dòng mới (chứ không phải dấu cách; điều này sẽ không xử lý dấu ngoặc kép, v.v. đặc biệt - Tôi đã kiểm tra trên hệ thống GNU) - câu trả lời được đưa ra trong stackoverflow.com/a/33528111/94687
xargs. Cũng như wiki cho thấy, không sử dụngxargsmà không cần đi qua các-print0đếnfind.