Giả sử tôi có một tệp abc.txt
có chứa dòng ab*cd
. Khi tôi grep
rằng mẫu ab*cd
với dấu ngoặc kép nhưng không thoát khỏi dấu nó không hoạt động:Làm thế nào để grep dấu hoa thị mà không cần thoát?
> grep ab*c abc.txt > grep "ab*c" abc.txt > grep 'ab*c' abc.txt
Khi tôi sử dụng cả dấu ngoặc kép và thoát nó không việc
> grep "ab\*c" abc.txt ab*cd > grep 'ab\*c' abc.txt ab*cd
Bây giờ tôi tự hỏi tại sao các dấu ngoặc kép không hoạt động và nếu tôi có thể sử dụng chỉ trích dẫn mà không cần thoát dấu hoa thị.
Bạn cũng có thể sử dụng một lớp nhân vật để phù hợp với một dấu đen. Bởi vì dấu ngoặc vuông cũng có ý nghĩa trong trình bao, bạn vẫn cần báo giá biểu thức; 'grep 'ab [*] c' abc.txt' – tripleee
Vấn đề bạn đang cố giải quyết là gì? Nếu bạn có ý định sử dụng vỏ, bạn cần phải hiểu metacharacters và trích dẫn, không tránh chúng. – tripleee