Chương 3
Cơ bản về quản trị Linux
3.1
Biểu thức chính quy
3.1.1
Biểu thức chính quy là gì?
Một biểu thức chính quy, regular expression, (hay còn gọi là một "regex" hay "regexp") là
một cú pháp đặc biệt được sử dụng để mô tả các mẫu văn bản. Trên hệ thống Linux, biểu
thức chính quy thường dùng để tìm một mẫu văn bản nào đó, cũng như thao tác tìm và thay
thế trong văn bản
3.1.2
So sánh với ký tự đại diện (glob)
Khi xem xét biểu thức chính quy, bạn có thể thấy rằng cú pháp biểu thức chính quy trông
giống với cú pháp của "globbing" mà chúng ta đã xét đến tại Phần 1. Tuy nhiên, đừng để
điều này làm bạn ngu muội, sự giống nhau của chúng chỉ là vỏ bên ngoài. Biểu thức chính
quy và mẫu ký tự đại diện, trong khi nhìn có vẻ giống nhau, là những con thú dữ khác nhau.
3.1.3
Chuỗi con đơn giản
Với chú ý trên, hãy xem xét những điều cơ bản nhất của biểu thức chính quy, chuỗi con đơn
giản
(simple substring). Chúng ta sẽ sử dụng grep, câu lệnh quét nội dung của một tệp cho
một biểu thức chính quy nói riêng. grep in ra mọi dòng mà tương ứng với biểu thức chính
quy, và lờ đi mọi dòng khác:
$ grep bash /etc/passwd
operator:x:11:0:operator:/root:/bin/bash
root:x:0:0::/root:/bin/bash
ftp:x:40:1::/home/ftp:/bin/bash
Ở trên, tham số đầu tiên cho grep là regex; thứ hai là tên tệp tin. grep đọc từng dòng
trong /etc/passwd và áp dụng simple substring regex bash tới nó (dòng), tìm sự tương
ứng. Nếu có tương ứng, grep in cả dòng đó; nếu không, dòng sẽ bị bỏ qua.