8
1
Ví dụ, giả sử bây giờ muốn tìm các dòng có chứa một hoặc nhiều hơn ký tự b trên file
passwk với lệnh egrep.
# egrep 'b+' /etc/passwd | head
cho ra các dòng kết quả sau:
root : x : 0 : 0 : root : /root : /bin/bash
bin : x : 1 : 1 : bin : /bin :
daemon : x : 2 : 2 : daemon : /sbin :
sync : x : 5 : 0 : sync : /sbin : /bin/sync
shutdown : x : 6 : 0 : shutdown : /sbin : /sbin/shutdown
halt : x : 7 : 0 : halt : /sbin : /sbin/halt
gopher : x : 13 : 30 : gopher : /usr/lib/gopher-data :
nobody : x : 99 : 99 : Nobody : / :
xfs : x : 43 : 43 : X Font Server : /etc/X11/fs : /bin/false
named : x : 25 : 25 : Named : /var/named : /bin/false
Khi gõ lệnh:
# egrep '([^a-zA-Z] | :wi)' /etc/printcap | head
thì nhận được thông báo kết quả:
aglw:Ư\
:wi=AG 23 : wk=multiple Apple LaserWrite IINT:
aglw1:\
:wi=AG 23 : wk=Apple LaserWrite IINT:
Ký hiệu
Ý nghĩa
c
\c
^
$
.
[xy]
[^xy]
c*
c+
c?
a | b
(a)
- thay thế cho ký tự c
- hiển thị c như là một ký tự bình thường nếu c là một ký tự điều khiển
- bắt đầu một dòng
- kết thúc dòng
- thay cho một ký tự đơn
- chọn một ký tự trong tập hợp các ký tự được đưa ra
- chọn một ký tự không thuộc tập hợp các ký tự được đưa ra
- thay cho một mẫu có hoặc không chứa ký tự c
- thay cho một mẫu có chứa một hoặc nhiều hơn ký tự c
- thay cho một mẫu không có hoặc chỉ có chứa duy nhất một ký tự c
- hoặc là a hoặc là b
- a một biểu thức