2013-04-05 36 views
18

Tôi cố gắng để grep cho một cuộc gọi chức năng phpLàm cách nào để grep cho biểu tượng lớn hơn?

grep -Ri '->someFunction' .

Nhưng nó không làm việc. Tôi đang làm gì sai?

+0

Thay vì 'grepping' trong' .', 'grep' tất cả các tệp. 'grep '-> someFunction' *. *' –

+0

Tôi đã cập nhật câu hỏi của mình để phản ánh việc sử dụng thực tế của tôi bằng cách sử dụng cờ '-Ri' –

Trả lời

32

Nó không có dấu ngoặc kép: thử điều này:

grep -Ri -- '->someFunction' . 

phần -- là viết tắt của cuối tùy chọn; đó là một thủ thuật vỏ.

+0

Cảm ơn bạn! nó hoàn toàn hoạt động! 'grep -Ri - '-> someFunction' .' –

+1

Nếu bạn đang sử dụng hệ thống cũ, bạn phải nói '' grep -e'' thay vì ''grep --''. Tuy nhiên, greps cũ có lẽ không hỗ trợ '-R'. – zwol

+1

Ngoài ra, sẽ tốt hơn nếu mô tả '--' là" kết thúc * tùy chọn * ", không phải là" kết thúc * đối số * ". Bạn đã có đối số sau '--', nó chỉ là một' -' hàng đầu không còn đặc biệt nữa. – zwol

0

Đây là một trong những trường hợp "không hoạt động" không đủ để chẩn đoán sự cố.

Trong trường hợp của bạn, thông báo lỗi bạn đã nhận được

grep: invalid option -- > 

Đó là đầu mối của bạn để thấy rằng ->someFunction đang được xem như là một chuyển đổi dòng lệnh.

Tôi cũng khuyên bạn có thể muốn xem ack, có nghĩa là đối với loại tìm kiếm mã nguồn này. Trong trường hợp của bạn, bạn sẽ làm:

ack -i -- '->someFunction' 
Các vấn đề liên quan