Tìm tập tin mà lệnh không thành công


26

Tôi muốn tìm đệ quy tất cả các tệp mà tập lệnh chấp nhận tệp làm đối số trả về giá trị khác không. Bất kỳ ý tưởng làm thế nào để làm điều này bằng cách sử dụng 'find' hoặc một công cụ tương tự?

Câu trả lời:


38

find's -exechành động có thể được sử dụng cho việc này:

find . \! -exec yourscript {} \; -print

sẽ in tên của tất cả các tệp mà yourscriptkhông thành công.

-execcó thể được sử dụng theo cách này để biến các lệnh bên ngoài thích hợp thành findcác thử nghiệm.

Bạn có thể giới hạn các tệp được kiểm tra bằng cách thêm findcác kiểm tra trước đó -exec; ví dụ: để giới hạn các ứng cử viên vào các tệp thông thường, hãy thêm -type f:

find . -type f \! -exec yourscript {} \; -print

8
Tương đương, sử dụng -o(hoặc) : find . -exec yourscript {} \; -o -print.
John Kugelman hỗ trợ Monica
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.