2011-07-08 27 views
6

Có cách nào để làm cho grep khớp với một chuỗi chính xác và không phân tích cú pháp đó dưới dạng regex không? Hoặc là có một số công cụ để thoát khỏi một chuỗi đúng cho grep?grep đối sánh chuỗi con chính xác bỏ qua cú pháp regex

$ version=10.4 
$ echo "10.4" | grep $version 
10.4 
$ echo "1034" | grep $version # shouldn't match 
1034 
+1

Nó thực sự là. 15 – johv

Trả lời

11

Sử dụng grep -F hoặc fgrep.

$ echo "1034" | grep -F $version # shouldn't match 
$ echo "10.4" | grep -F $version 
10.4 

trang người đàn ông Xem:

-F, --fixed-strings 
     Interpret PATTERN as a list of fixed strings, separated 
     by newlines, any of which is to be matched. 

tôi đang tìm kiếm các thuật ngữ "trận đấu đen" hay "chuỗi cố định".

(Xem thêm Using grep with a complex stringHow can grep interpret literally a string that contains an asterisk and is fed to grep through a variable?)

0

này nên làm việc ... nó làm việc cho tôi:

echo "1034" | grep "10\.4" 
+3

Bạn đang thoát chuỗi theo cách thủ công. – johv

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