Nếu bạn grep
hỗ trợ đọc các dòng được phân cách bằng NUL (như GNU grep
với -z
), bạn có thể sử dụng nó để kiểm tra xem có bất cứ thứ gì được xuất ra bởi find
:
find /some/path -print0 | grep -qz .
Để chuyển dữ liệu sang lệnh khác, bạn có thể xóa -q
tùy chọn, cho phép grep
truyền dữ liệu không bị thay đổi trong khi vẫn báo cáo lỗi nếu không có gì xảy ra:
find /some/path -print0 | grep -z . | ...
Cụ thể, ${PIPESTATUS[1]}
trong bash nên giữ trạng thái thoát của grep
.
Nếu bạn find
không hỗ trợ -print0
, việc sử dụng grep mà không có -z
và hy vọng rằng các dòng mới trong tên tệp sẽ không gây ra sự cố:
find ... | grep '^' | ...
Trong trường hợp này, sử dụng ^
thay vì .
có thể an toàn hơn. Nếu đầu ra có các dòng mới liên tiếp, ^
sẽ vượt qua chúng, nhưng .
sẽ không.
find
trực tiếp hỗ trợ nó. Bạn có thể làm một cái gì đó nhưfind ... -print0 | grep -qz .
, có lẽ, nếu bạngrep
hỗ trợ nó.