Là gì +
trong find /path/ -exec command '{}' +
việc phải làm? như trái ngược vớifind /path/ -exec command '{}' \;
Là gì +
trong find /path/ -exec command '{}' +
việc phải làm? như trái ngược vớifind /path/ -exec command '{}' \;
Câu trả lời:
'+' Tạo một dòng lệnh lớn trong số tất cả các tệp được tìm thấy để giảm thiểu số lượng lệnh sẽ được chạy.
Cho trường hợp một lệnh find tìm thấy bốn tệp.
find . -type f -exec command '{}' \;
sẽ sản xuất
command file1
command file2
command file3
command file4
Mặt khác
find . -type f -exec command '{}' \+
sản xuất
command file1 file2 file3 file4
Từ trang người đàn ông:
lệnh -exec {} +
Biến thể của hành động -exec này chạy lệnh được chỉ định trên các tệp đã chọn, nhưng dòng lệnh được xây dựng bằng cách nối thêm từng tên tệp đã chọn ở cuối; tổng số lần gọi của lệnh sẽ ít hơn nhiều so với số lượng tệp được khớp. Dòng lệnh được xây dựng theo cách tương tự như xargs xây dựng các dòng lệnh của nó. Chỉ một trường hợp của `{} 'được cho phép trong lệnh. Lệnh được thực thi trong thư mục bắt đầu.
find
cho tôi một bán
xargs
,-exec … {} +
thực hiện tương tự-print | xargs …
, nhưng không có vấn đề trích dẫn (-print0 | xargs -0
là một cách khác, nhưng nó ít di động hơn).