Tôi có thể sử dụng lệnh ngắn gọn nào để tìm tất cả các tệp KHÔNG chứa chuỗi văn bản?
Tôi đã thử điều này (sử dụng -v để đảo ngược các tham số của grep) mà không gặp may:
find . -exec grep -v -l shared.php {} \;
Ai đó nói điều này sẽ làm việc:
find . ! -exec grep -l shared.php {} \;
Nhưng nó dường như không làm việc cho tôi.
Trang này có ví dụ này:
find ./logs -size +1c > t._tmp
while read filename
do
grep -q "Process Complete" $filename
if [ $? -ne 0 ] ; then
echo $filename
fi
done < t._tmp
rm -f t_tmp
Nhưng đó là cồng kềnh và hoàn toàn không súc tích.
ps: Tôi biết điều đó grep -L *
sẽ làm điều này, nhưng làm thế nào tôi có thể sử dụng lệnh find kết hợp với grep để loại trừ các tệp là những gì tôi thực sự muốn biết.
pss: Ngoài ra tôi không chắc chắn làm thế nào để có grep bao gồm các thư mục con với grep -L *
cú pháp, nhưng tôi vẫn muốn biết cách sử dụng nó với find
:)