2012-05-18 40 views

Trả lời

-1

T tùy chọn --exclude-dir=exclude có thể hoạt động.

Tuy nhiên, có một số hạn chế: nó sẽ bỏ qua tất cả các thư mục "loại trừ", không chỉ /var/www/exclude.

grep -r --exclude-dir=exclude pattern /var/www/ 

nếu bạn đã có trong var, sau đó bạn có thể tất nhiên chỉ cần sử dụng www:

grep -r --exclude-dir=exclude pattern www/ 
6

Bạn cũng có thể sử dụng grep -v "/ tên thư mục /". -v loại bỏ tất cả các kết quả phù hợp.

grep -r string /var/www/ | grep -v "/exclude/" 
+0

okay, tôi hiểu loại trừ, nhưng tôi đã có trong/var/thư mục, tôi thực sự phải viết/var/www /. Tôi chỉ muốn viết/www –

+0

Cách an toàn nhất nếu bạn đang sử dụng phương pháp này là sử dụng nó như: grep -r string $ (pwd) | grep -v ^/var/www/exclude/ – xeor

-1

1) Sử dụng grep -R -f file.txt, nơi ở file.txt bạn liệt kê tất cả các tập tin và thư mục tên, ngoại trừ thư mục/var/www/loại trừ

2) sử dụng kịch bản bash sau:

for i in $(ls /var/www/); do 
    if [ "$i" != "/var/www/exclude" ] ; then 
     grep -R "my search term" $i 
    fi 
done 
0

Sử dụng --exclude=*.log* để bỏ qua các tệp có chứa từ 'nhật ký'.

+0

phải có dấu sao sau dấu bằng. Khi được đăng, nó đã xóa nó. – praveen

+0

kèm theo \ 'những gì bạn không muốn được định dạng, ví dụ: '--exclude = *. log' – McAbra

Các vấn đề liên quan