Câu trả lời:
Với grepcú pháp chuẩn :
grep '[>|]'
hoặc là
grep -e '>' -e '|'
hoặc là
grep '>
|'
hoặc là
grep -E '>|\|'
Nếu bạn đang sử dụng GNU grep, bạn có thể thực hiện việc này với toán tử hoặc toán tử ( |), cần được thoát (trước dấu gạch chéo ngược \). Vì vậy, để tìm các dòng chứa một trong hai đường ống hoặc dấu lớn hơn, hãy bao gồm chúng theo nghĩa đen với toán tử hoặc toán tử:
grep '|\|>' infile
Đầu ra:
|this is test
where is >
+, ?) là đường cú pháp cho \{1,\}và \{0,1\}. (mặt khác, các tham chiếu lỏng lẻo của ERE ( \(.\)\1) chỉ là một tính năng BRE)
Sử dụng biểu thức ngoặc để khớp với một trong hai ký tự mong muốn:
grep "[|>]" infile
Đầu ra:
|this is test
where is >
-ihoặc -Eở đây.
Cách chính xác để thực hiện nó là sử dụng cờ -e được chỉ định bởi POSIX. Ví dụ:
grep -e '>\||' infile
grep -e '>' -e '|' infilelàm việc quá
-eđược chỉ định bởi POSIX nhưng không hữu ích ở đây. \|không được chỉ định bởi POSIX.
\|không phải là mộtBREtoán tử tiêu chuẩn , mặc dù nó hoạt động với GNUgrep, thứ đượcgreptìm thấy trong hầu hết các hệ điều hành được xây dựng xung quanh nhân Linux.